Probleme php combiné a mysql

Fermé
carraps - 6 mai 2010 à 10:42
 carraps - 6 mai 2010 à 14:50
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

Neliel Messages postés 6146 Date d'inscription jeudi 9 juillet 2009 Statut Contributeur Dernière intervention 20 mars 2017 1 688
6 mai 2010 à 10:47
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";
0
jeangilles Messages postés 816 Date d'inscription samedi 21 juin 2008 Statut Membre Dernière intervention 17 juillet 2012 185
Modifié par jeangilles le 6/05/2010 à 11:37
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
0
Neliel Messages postés 6146 Date d'inscription jeudi 9 juillet 2009 Statut Contributeur Dernière intervention 20 mars 2017 1 688
Modifié par Neliel le 6/05/2010 à 11:45
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."'" ;
0
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>
0