Probleme php combiné a mysql

carraps -  
 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

  1. Neliel Messages postés 7012 Statut Contributeur 1 702
     
    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
    1. jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
       
      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
    2. Neliel Messages postés 7012 Statut Contributeur 1 702
       
      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
    3. carraps
       
      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