Probleme de boucle while

Daniel- Messages postés 3 Date d'inscription mercredi 28 mai 2014 Statut Membre Dernière intervention 2 juin 2014 - 2 juin 2014 à 01:43
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 - 2 juin 2014 à 09:28
Bonjour,
bns a tous, j'ai un problème , j'ai un formulaire a remplir puis je veut afficher les information remplis dans un tableau , mais un seul donné rempli se répète plusieurs fois sur le tableau !!!!!! (je crois le prob au niveau de boucle while)
voici le code :

<?php require_once('../Connections/conn_datasoft.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}

$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}

mysql_select_db($database_conn_datasoft, $conn_datasoft);
$query_Recordset1 = "SELECT departement_tt.id, departement_tt.Gouvernement, departement_tt.adress, departement_tt.Telephone, departement_tt.Type_TT, departement_tt.Longitude, departement_tt.Latitude FROM departement_tt";
$Recordset1 = mysql_query($query_Recordset1, $conn_datasoft) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
mysql_select_db($database_conn_datasoft, $conn_datasoft);
$query_Recordset1 = "SELECT departement_tt.id, departement_tt.Gouvernement, departement_tt.adress, departement_tt.Telephone, departement_tt.Type_TT, departement_tt.Longitude, departement_tt.Latitude, node.id, node.nom_node, node.Longitude, node.Latitude FROM departement_tt, node";
$Recordset1 = mysql_query($query_Recordset1, $conn_datasoft) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
<style type="text/css">
body table tr {
font-weight: bold;
}
body table tr {
text-align: center;
}
body p {
font-weight: bold;
}
body p {
font-size: large;
}
body p {
font-size: xx-large;
}
</style>
</head>

<body>
<p>Liste de Nodes B </p>
<form id="form1" name="form1" method="post" action="">
<table width="1560" height="57" border="1">
<tr>
<td width="123">ID</td>
<td width="225"><strong>Nom Node</strong></td>
<td width="160">Longitude</td>
<td width="191">Latitude</td>
<td width="181">Supprimer</td>
<td width="187"><strong>Modifier</strong></td>
</tr>
<?php do { ?>
<tr>
<td><?php echo $row_Recordset1['id']; ?></td>
<td><?php echo $row_Recordset1['nom_node']; ?></td>
<td><?php echo $row_Recordset1['Longitude']; ?></td>
<td><?php echo $row_Recordset1['Latitude']; ?></td>
<td><label>
<input name="id" type="hidden" />
<input type="image" name="supprimer" id="supprimer" src="../images/sup.png" />
</label></td>
<td><input type="image" name="accepter" id="accepter" src="../images/vv.jpg" /></td>
</tr>
<?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>
</td>
</tr>
</table>
</form>

</body>
</html>
<?php
mysql_free_result($Recordset1);
?>

1 réponse

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
Modifié par jordane45 le 2/06/2014 à 08:18
Bonjour.

Déjà , pour ta boucle utilise juste while (pas de do).

while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)){

//ton code...

}



Ensuite supprime ton premoer fetch_assoc (ligne: 43).



Avant de poser une question, merci de lire la charte du site.
Cordialement, Jordane
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
2 juin 2014 à 09:24
Et puis, juste un conseil pour la présentation de tes codes ( aucun rapport avec le souci rencontré)
fait des retours à la ligne dans tes requêtes, cela rend leur lecture plus facile.
Et utilises aussi des Alias pour tes tables

exemple :
$query_Recordset1 = "
SELECT D.id
            ,D.Gouvernement
            ,D.adress
            ,D.Telephone
            ,D.Type_TT
            ,D.Longitude
            ,D.Latitude
            ,N.id
            ,N .nom_node
            ,N.Longitude
            ,N.Latitude 
FROM departement_tt D
        , node N
";

0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
2 juin 2014 à 09:28
Et tu n'auras pas du code en trop ?
Il semble que tu es répété deux fois le même code..


mysql_select_db($database_conn_datasoft, $conn_datasoft);
$query_Recordset1 = "SELECT departement_tt.id, departement_tt.Gouvernement, departement_tt.adress, departement_tt.Telephone, departement_tt.Type_TT, departement_tt.Longitude, departement_tt.Latitude FROM departement_tt";
$Recordset1 = mysql_query($query_Recordset1, $conn_datasoft) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);

// Quasi identique au code précédent ?? :
mysql_select_db($database_conn_datasoft, $conn_datasoft);
$query_Recordset1 = "SELECT departement_tt.id, departement_tt.Gouvernement, departement_tt.adress, departement_tt.Telephone, departement_tt.Type_TT, departement_tt.Longitude, departement_tt.Latitude, node.id, node.nom_node, node.Longitude, node.Latitude FROM departement_tt, node";
$Recordset1 = mysql_query($query_Recordset1, $conn_datasoft) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);


Et dans ta requête ( la deuxième...) il semble que tu es oublié un WHERE.
Tu utilises deux tables dans ton FROM mais tu ne fais aucun lien entre les deux ...
FROM departement_tt D
        , node N

//WHERE N.qqchose = D.autrchose ??
0
Rejoignez-nous