Probleme php combiné a mysql

[Fermé]
Signaler
-
 carraps -
Bonjour a tous,

je travail avec du php combiné a mysql et j ai un petit soucis:
je récupère des données de mysql et elles apparaissent dans ma table php mais
je dois récupérer les données qui apparaissent sur cette table php pour faire des opérations mathématiques (je dois trouver le min des températures, des tensions....et le faire apparaitre sur cette page) et je n y parviens pas :(
pourriez-vous m aider svp, ce serait vraiment sympa:
merci bcp

voici mon code php:


<table border='5'>
<tr><th>Nom du client</th><th>Température</th><th>Tension</th><th>Poids</th><th>Date de visite</th></tr>


<?php
$item[1]=$_POST['item1'];
$item[2]=$_POST['item2'];
$item[3]=$_POST['item3'];
$item[4]=$_POST['item4'];
$item[5]=$_POST['item5'];

$conn = mysql_connect('localhost', $_SERVER['DB_USER'], $_SERVER['DB_PASS']);
if (!$conn) {
echo "Impossible de se connecter à la base de données : " . mysql_error();
exit;
}
if (!mysql_select_db("mschyns_".$_SERVER['DB_USER'])) {
echo "Impossible de sélectionner la base mydbname : " . mysql_error();
exit;
}
for ($i=1;$i<=5;$i++) {
$sql = "SELECT nom, temperature, tension, poids, date FROM patient, details_visite WHERE nom='$item[$i]' AND idvisite=idpatient";
$result = mysql_query($sql);
if (!$result) {
echo "Impossible d'exécuter la requête ($sql) dans la base : " . mysql_error();
exit;
}
if (mysql_num_rows($result) == 0) {
echo "Aucune ligne trouvée.";
} else {
while ($row = mysql_fetch_assoc($result)) {
echo "<tr><td>".$row["nom"]."</td>";
echo "<td>".$row["temperature"]."</td>";
echo "<td>".$row["tension"]."</td>";
echo "<td>".$row["poids"]."</td>";
echo "<td>".$row["date"]."</td></tr>";
}
}
}
mysql_close($conn);
?>
</table>

1 réponse

Messages postés
6118
Date d'inscription
jeudi 9 juillet 2009
Statut
Contributeur
Dernière intervention
20 mars 2017
1 651
Bonjour,

La requête est incorrect:

$sql = "SELECT nom, temperature, tension, poids, date FROM patient, details_visite WHERE nom='$item[$i]' AND idvisite=idpatient";

Tu ne peux pas insérer une variable dans une chaîne de caractères de cette manière... tu dois utiliser la concaténation.

echo "$variable" est différent de : echo $variable.

Ainsi, tu dois taper ta requête comme ceci:

$sql = "SELECT nom, temperature, tension, poids, date FROM patient, details_visite WHERE nom='".$item[$i]."' AND idvisite=idpatient";
Messages postés
816
Date d'inscription
samedi 21 juin 2008
Statut
Membre
Dernière intervention
17 juillet 2012
183
Tu ne peux pas insérer une variable dans une chaîne de caractères de cette manière... tu dois utiliser la concaténation.  

echo "$variable" est différent de : echo $variable. 


tout ce qui est entre " est interprété, à l'inverse des ' qui est traité comme chaîne de cacractères


C'est faux, $variable donne exactement la même chose que "$variable"
En revanche, ton erreur vient du fait qu'on ne puisse pas mettre de tableau dans un echo sans passer par la concaténation
Messages postés
6118
Date d'inscription
jeudi 9 juillet 2009
Statut
Contributeur
Dernière intervention
20 mars 2017
1 651
La correction que je donne est juste tout de même...

De plus, j'ai déja eu des erreurs PHP en faisant:

$a=3;
$req="select * from table where id='$a'";

au lieu de

$req="select * from table where id='".$a."'" ;
merci pour vos reponses, sympa
j ai finalment réussi a reprendre les données du tableau pour faire mes calculs mais j ai un autre probleme pour trouver le minimum, (a mon avis toutes les données ne sont pas prises en comptes pour faire le calcul), ce serait gentil de m aider

voila mon code:
<?php
$item[1]=$_POST['item1'];
$item[2]=$_POST['item2'];
$item[3]=$_POST['item3'];
$item[4]=$_POST['item4'];
$item[5]=$_POST['item5'];

$conn = mysql_connect('localhost', $_SERVER['DB_USER'], $_SERVER['DB_PASS']);
if (!$conn) {
echo "Impossible de se connecter à la base de données : " . mysql_error();
exit;
}
if (!mysql_select_db("mschyns_".$_SERVER['DB_USER'])) {
echo "Impossible de sélectionner la base mydbname : " . mysql_error();
exit;
}
for ($i=1;$i<=5;$i++) {
$sql = "SELECT nom, temperature, tension, poids, date FROM patient, details_visite WHERE nom='$item[$i]' AND idvisite=idpatient";
$result = mysql_query($sql);
if (!$result) {
echo "Impossible d'exécuter la requête ($sql) dans la base : " . mysql_error();
exit;
}
if (mysql_num_rows($result) == 0) {
echo "Aucune ligne trouvée.";
} else {
while ($row = mysql_fetch_assoc($result)) {
echo "<tr><td><b>$item[$i]</b></td>";
echo "<td>".$row["temperature"]."</td>";
$temp[$i]=$row["temperature"];
echo "<td>".$row["tension"]."</td>";
$tens[$i]=$row["tension"];
echo "<td>".$row["poids"]."</td>";
$poid[$i]=$row["poids"];
echo "<td>".$row["date"]."</td></tr>";
}
}


}
?>
<tr><th>Minimum</th><th>
<?php
for($i=1;$i<=10000;$i++){
if($temp[$i]<$temp[$i+1])
{
$a=$temp[$i];
}

}echo"$a";
?>
</th><th>
<?php
for($i=1;$i<=10000;$i++){
if($tens[$i]<$tens[$i+1])
{
$b=$tens[$i];
}

}echo"$b";
?></th><th>
<?php
for($i=1;$i<=10000;$i++){
if($poid[$i]<$poid[$i+1])
{
$c=$poid[$i];
}

}echo"$c";
?></th><th>.....</th></tr>