requete qui recupère qu'un seul champ

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : requete qui recupère qu'un seul champ

Re: requete qui recupère qu'un seul champ

par xzena » 04 nov. 2011, 14:14

c'est bon,ç'est reglé le problème.merci à vous.

Re: requete qui recupère qu'un seul champ

par maze » 18 oct. 2011, 23:13

Pourquoi mysql_data_seek() ?
De ce que je vois, le problème c'est que tu fais 2 fois ta boucle while donc forcement à la 2e ben... Ça repart au début. T'as plusieurs enregistrements à sortir pour chaque chmap c'est ça ? Si j'ai bien compris (j'avoue que j'ai un doute) je ferais une boucle qui te met tout ça dans un tableau genre
while ($row= mysql_fetch_assoc($res)) {
chmap1[] = $row['chmap1'];
chmap2[] = $row['chmap2'];
 }
Et pour afficher une boucle for type
for($i=0;$i<count($chmap1);$i++) {
echo "tes balises input...";
}

Re: requete qui recupère qu'un seul champ

par Zahnzao » 18 oct. 2011, 20:03

Tu ne dois pas le mettre dans ta boucle while mais après, juste avant ta deuxième boucle du champ2.

Re: requete qui recupère qu'un seul champ

par xzena » 18 oct. 2011, 19:31

merci à vous mais ça pas marché dans mon cas :

Warning: mysql_data_seek() expects parameter 1 to be resource, string given in C:\wamp\www\application\fishier\test2.php on line 67

<td width="251"><?php while ($row= mysql_fetch_assoc($res)) {
mysql_data_seek($req, 0); // ligne 67

?>
<input type="text" name="champ1" id ="champ1" value="<?php echo $row['champ1'];
?>" />
<?php } ?></td>

??!

Re: requete qui recupère qu'un seul champ

par soycd » 18 oct. 2011, 18:37

Cette fonction sert à repositionner le pointeur, dans ton cas, sur le 1er élément, 0 donc.

Chaque fois que tu lis le résulat d'un query avec fetch_assoc, le pointeur reste en fin de parcours, donc tu dois utiliser data_seek chaque fois que tu as besoin de parcourir une nouvelle fois un même résultat d'un query.

En gros :
$query = mysql_query($sql);

while( $line = mysql_fetch_assoc($query) )
{
        // BLABLA
}

// Besoin de parcourir une nouvelle fois le résultat à partir du départ ?
mysql_data_seek($query, 0);

// Et voilà je peux refaire un fetch_assoc ^^

while( $line = mysql_fetch_assoc($query) )
{
        // BLABLA²
}

Re: requete qui recupère qu'un seul champ

par xzena » 18 oct. 2011, 18:17

désolé j'ai consulter le lien..mais j'ai pas compris où je vais mettre là :oops:

Re: requete qui recupère qu'un seul champ

par soycd » 18 oct. 2011, 17:57

Sers-toi de mysql_data_seek() après chaque mysql_fetch_assoc()

http://php.net/mysql_data_seek

requete qui recupère qu'un seul champ

par xzena » 18 oct. 2011, 17:48

bonjour,
j'ai fait une requête pour récupérer certains champs a partir d’un élément sélectionné dans un champ select:

Code : Tout sélectionner

$req="select * from table where table1.id in (select id from table2 where nom='$nom' and prenom='$prenom')"; $res=mysql_query($req); echo $nom; ?>
et pour récupérer dans des input je fais ça :
<td width="251"><?php while ($row= mysql_fetch_assoc($res)) { 
   ?>
   <input type="text" name="chmap1" id ="chmap1" value="<?php echo $row['chmap1']; ?>" />
  <?php  } ?></td> 
<td width="251"><?php while ($row= mysql_fetch_assoc($res)) { 
   ?>
   <input type="text" name="chmap2" id ="chmap2" value="<?php echo $row['chmap2']; ?>" />
  <?php  } ?></td> 
mon souci c'est qu' il me récupère qu'un seul champ toujours, les autres non !
Alors merci pour votre aide