Aide Région répété:

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 : Aide Région répété:

Re: Aide Région répété:

par Ryle » 01 nov. 2010, 19:52

C'est parce qu'à chaque fois que tu récupères l'un des résultats de ta requête avec mysql_fetch_assoc, php fait avancer le pointeur vers l'enregistrement suivant. Résultat, lorsque tu as parcourus tous tes enregistrements, le pointeur est placé à la fin et php ne trouve plus de résultat.

Tu peux déplacer le pointeur avec mysql_data_seek() pour le repositionner au début. Par contre, pour éviter de parcourir 3 fois l'ensemble de tes enregistrements (ou 10.000 fois quand tu auras d'avantage de prospects), il faudrait stocker les résultats (dans un tableau, dans une chaine, ...) au fur et à mesure que tu les parcours et n'avoir plus ensuite qu'à les afficher ou avoir un minimum d'éléments à reparcourir :)

Aide Région répété:

par coooooool » 01 nov. 2010, 15:49

Bonjour j'ai un probème: le voila:
Voila mes deux requetes (j'ai 20 produits et 3 prospect)
mysql_select_db($database_journal, $journal);
$query_select_produits = "SELECT id_prod, nom_prod FROM produits";
$select_produits = mysql_query($query_select_produits, $journal) or die(mysql_error());
$row_select_produits = mysql_fetch_assoc($select_produits);
$totalRows_select_produits = mysql_num_rows($select_produits);

$colname_select_prospect = "-1";
if (isset($_GET['idpinitial'])) {
  $colname_select_prospect = $_GET['idpinitial'];
}
mysql_select_db($database_journal, $journal);
$query_select_prospect = sprintf("SELECT id_psoustoit, nom_psoustoit, prenom_psoustoit, lien_pr FROM prospect_soustoit WHERE fk_id_pi = %s", GetSQLValueString($colname_select_prospect, "int"));
$select_prospect = mysql_query($query_select_prospect, $journal) or die(mysql_error());
$row_select_prospect = mysql_fetch_assoc($select_prospect);
$totalRows_select_prospect = mysql_num_rows($select_prospect);

<?php do { ?>
<table>
<tr><td>
<?php
do { ?>
<table border="1">



<tr><td> <?php echo htmlentities($row_select_produits['nom_prod']); ?><br />
</td>
<td><?php echo $row_select_prospect['nom_psoustoit']; ?></td>
</tr>

</table>
<?php } while ($row_select_produits = mysql_fetch_assoc($select_produits)); ?>
</td>
</tr>
</table>

Le problème est que j'ai la liste des produit seulement pour le 1er prospect, les deux autres j'ai rien
Merci de m'aider
<?php } while ($row_select_prospect = mysql_fetch_assoc($select_prospect)); ?>