Bonjour,

Voila je rencontre un petit problème avec mon code.

Ce que je fais

Décrivez ici votre code ou ce que vous cherchez à faire
<?php

require ('connexion_bdd.php');

if($_POST["query"] != '')
{
$search_array = explode(",", $_POST["query"]);
$search_text = "'" . implode("', '", $search_array) . "'";
$query = "
SELECT FROM base_rando
WHERE Country IN (".$search_text.")
ORDER BY CustomerID DESC
";
}
else
{
$query = "SELECT
FROM base_rando ORDER BY CustomerID DESC";
}

$statement = $connect->prepare($query);

$statement->execute();

$result = $statement->fetchAll();

$total_row = $statement->rowCount();

$output = '';

if($total_row > 0)
{
foreach($result as $row)
{
$output .= '
<tr>
<td><strong>'.$row["date"].'</strong></td>
<td>'.$row["Country"].'</td>
<td>'.$row["ville"].'</td>
<td><button type="button" value="CustomerID" class="btn btn-info">Info</button></td>
</tr>
';
}
}
else
{
$output .= '
<tr>
<td colspan="5" align="center">
Aucune randonnées disponible pour ce département</br>
</td>
</tr>
';
}

echo $output;

?>

<?php
//index.php

require ('connexion_bdd.php');

$query = "SELECT DISTINCT Country FROM base_rando ORDER BY Country ASC";

$statement = $connect->prepare($query);

$statement->execute();

$result = $statement->fetchAll();

?>
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

<title>Bikeride</title>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>

<link rel="stylesheet" href="css_bis/style.css">
<link rel="stylesheet" href="css/bootstrap.css">

</head>

<body>
<?php include ('header.php');?>
<br />
<br />
<br />
<h1 class="title_home"><span class="blue"><</span>VTT<span class="blue">></span> <span class="yellow">Randonnées</pan></h1>
<h2 class="title_home_bis">Trouves ta rando dans ton département avec <a class="title_home_a">Bikeride.fr</a></h2><br />
<div class="container container_home">
<center><div class="col-md-6">
<select name="multi_search_filter" id="multi_search_filter" class="form-control col-md-6" >
<?php
foreach($result as $row)
{
echo '<option value="'.$row["Country"].'">'.$row["Country"].'</option>';
}
?>
</select>
</div><br/>
</center>
<input type="hidden" name="hidden_country" id="hidden_country" />
<div style="clear:both"></div>
<br />
<div class="table-responsive">
<table class="table table-striped table-bordered">
<thead>
<tr>
<th>Date</th>
<th>Dept</th>
<th>ville</th>
<th>Info</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
<br />
</div>
<br />
<br />
</body>
</html>

<script>
$(document).ready(function(){

load_data();

function load_data(query='')
{
$.ajax({
url:"fetch.php",
method:"POST",
data:{query:query},
success:function(data)
{
$('tbody').html(data);
}
});
}

$('#multi_search_filter').change(function(){
$('#hidden_country').val($('#multi_search_filter').val());
var query = $('#hidden_country').val();
load_data(query);
});

});
</script>

<?php
$connect = new PDO("mysql:host=localhost;dbname=bikeride", "root", "");
?>

Entourez votre code pour bien le mettre en forme

Ce que je veux

Voici le contexte :
Comme vous pouvez le constater sur mon code,
J'ai crée une table en connexion avec ma base de donnée, celle-ci m'affiche des informations via le select, mais je souhaiterai insérer un lien dans mes boutons pour afficher sur une autre page, les informations complémentaires à celle-ci. Il me semble que la méthode $_GET me paraît la plus adaptée mais pour être honnête je coince .
Pourriez vous me filer un coup de main SVP?

Ce que j'obtiens

Décrivez ici vos erreurs ou ce que vous obtenez à la place de ce que vous attendez :(

7 réponses


Bonjour.

je souhaiterai insérer un lien dans mes boutons pour afficher sur une autre page

De quels boutons parles-tu ?
Le code que tu nous montre est partiellement, je dirais même à peine situé dans les balises code, c'est donc relativement difficile de comprendre ton code entre celui qui se retrouve très mal formaté et celui qui est directement interprété par le navigateur.

lorsque que je sélectionne un département, celui-ci affiche l'ensemble de mes randonnées dans un tableau ligne par ligne. j'ai un bouton ligne par ligne dont je souhaiterai y insérer un lien pour amener l'utilisateur vers une autre page afin de lui afficher les informations complémentaires.

voici mes 3 éléments :
connexion_bdd.php
<?php
$connect = new PDO("mysql:host=localhost;dbname=bikeride", "root", "");
?>

le second fetch.php
<?php

require ('connexion_bdd.php');

if($_POST["query"] != '')
{
$search_array = explode(",", $_POST["query"]);
$search_text = "'" . implode("', '", $search_array) . "'";
$query = "
SELECT FROM base_rando
WHERE Country IN (".$search_text.")
ORDER BY CustomerID DESC
";
}
else
{
$query = "SELECT
FROM base_rando ORDER BY CustomerID DESC";
}

$statement = $connect->prepare($query);

$statement->execute();

$result = $statement->fetchAll();

$total_row = $statement->rowCount();

$output = '';

if($total_row > 0)
{
foreach($result as $row)
{
$output .= '
<tr>
<td><strong>'.$row["date"].'</strong></td>
<td>'.$row["Country"].'</td>
<td>'.$row["ville"].'</td>
<td><button type="button" value="CustomerID" class="btn btn-info">Info</button></td>
</tr>
';
}
}
else
{
$output .= '
<tr>
<td colspan="5" align="center">
Aucune randonnées disponible pour ce département</br>
</td>
</tr>
';
}

echo $output;

?>

Le troisieme index.php

<?php
//index.php

require ('connexion_bdd.php');

$query = "SELECT DISTINCT Country FROM base_rando ORDER BY Country ASC";

$statement = $connect->prepare($query);

$statement->execute();

$result = $statement->fetchAll();

?>
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

<title>Bikeride</title>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>

<link rel="stylesheet" href="css_bis/style.css">
<link rel="stylesheet" href="css/bootstrap.css">

</head>

<body>
<?php include ('header.php');?>
<br />
<br />
<br />
<h1 class="title_home"><span class="blue"><</span>VTT<span class="blue">></span> <span class="yellow">Randonnées</pan></h1>
<h2 class="title_home_bis">Trouves ta rando dans ton département avec <a class="title_home_a">Bikeride.fr</a></h2><br />
<div class="container container_home">
<center><div class="col-md-6">
<select name="multi_search_filter" id="multi_search_filter" class="form-control col-md-6" >
<?php
foreach($result as $row)
{
echo '<option value="'.$row["Country"].'">'.$row["Country"].'</option>';
}
?>
</select>
</div><br/>
</center>
<input type="hidden" name="hidden_country" id="hidden_country" />
<div style="clear:both"></div>
<br />
<div class="table-responsive">
<table class="table table-striped table-bordered">
<thead>
<tr>
<th>Date</th>
<th>Dept</th>
<th>ville</th>
<th>Info</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
<br />
</div>
<br />
<br />
</body>
</html>

<script>
$(document).ready(function(){

load_data();

function load_data(query='')
{
$.ajax({
url:"fetch.php",
method:"POST",
data:{query:query},
success:function(data)
{
$('tbody').html(data);
}
});
}

$('#multi_search_filter').change(function(){
$('#hidden_country').val($('#multi_search_filter').val());
var query = $('#hidden_country').val();
load_data(query);
});

});
</script>

C'est exactement le même code qui est toujours en grande partie interprété par le navigateur et donc quasi impossible à étudier.
Donc au lieu de juste faire un copier/coller de ton message précédent, essaies de formater le code correctement en le plaçant dans des balises codes différentes si nécessaire, sans celà il nous est impossible de pouvoir t'aider.

Ok excusez moi. Je vais créer un nouveau sujet identique et insérer le code au bon endroit

Tu n'a pas besoin de créer un nouveau sujet, supprimes les messages qui posent problèmes et rédige un nouveau message en faisant en sorte de formater correctement son contenu.

Décidément rien ne va plus aujourd'hui. je viens de créer un nouveau sujet avec le même titre. Vraiment pardonnez moi