Lire le prochain enregistrement
lemorce
Messages postés
32
Statut
Membre
-
lemorce Messages postés 32 Statut Membre -
lemorce Messages postés 32 Statut Membre -
Slt,
Pour la création d'un planing, à un moment donné dans une boucle j'ai besoin d'acceder au prochain enregistrement d'une requete.
Comment faire ?
Une partie du code php :
################connexion à la bdd
############# boucle où aller à l'enregistrement suiavnt de la requete ci dessus
c'est entre les flags (A) qu'il faut accéder au prochain enregistrement de ma requête 'dateloc'.
Sinon ne sera affiché que la première période de loc pour le 1° item...
Je sais pas si j'ai été assez claire ??!!
Merci de votre aide
Za++
Pour la création d'un planing, à un moment donné dans une boucle j'ai besoin d'acceder au prochain enregistrement d'une requete.
Comment faire ?
Une partie du code php :
################connexion à la bdd
mysql_select_db($database_planning_test, $planning_test); $query_tableloc = "SELECT boatloc.idboatloc, boatloc.label FROM boatloc"; $tableloc = mysql_query($query_tableloc, $planning_test) or die(mysql_error()); $row_tableloc = mysql_fetch_assoc($tableloc); $row_tt = mysql_fetch_row($tableloc); $totalRows_tableloc = mysql_num_rows($tableloc);
############# boucle où aller à l'enregistrement suiavnt de la requete ci dessus
foreach ($tg as $y) // pour chaque item d'une table
{
echo "<tr><td>".$y."</td>";
foreach ($monthOfYear as $key=>$nbmonth) // pour chaque mois de l'année
{
$taillecel = nbjour($key); //calcul du nb de jour dans le mois
for ($i=1; $i<=$taillecel; $i++) // jour 1, on crée autant de cellule que de jour dans le mois
{
(A)
if ( $row_dateloc['dat1']==$i && $row_dateloc['mois1']==$key+1 && $row_dateloc['idbateau']==$y)
{ // si jour deb de loc = 1 et si mois de deb de loc = 1 et si bateau = 0
$gg = $row_dateloc['dat2']-$row_dateloc['dat1']; // nb de jours de loc
for ($yy=1;$yy<=$gg+1;$yy++)
{
echo "<td>#</td>";
}
$i=$i+$gg;
}
else
{
echo "<td>-</td>";
(A)}
}
c'est entre les flags (A) qu'il faut accéder au prochain enregistrement de ma requête 'dateloc'.
Sinon ne sera affiché que la première période de loc pour le 1° item...
Je sais pas si j'ai été assez claire ??!!
Merci de votre aide
Za++
4 réponses
-
lut
pour passer a l'enregistrement suivant d'une requette qui me ramenne plusieur enreg j'utilise :
$Rq="Marequette";
$Res=mysql_query($Rq);
$NumRows=mysql_num_rows($Res);
if ($NumRows>0)
{
while ($Tb=mysql_fetch_array($Res))
{
// mon traitement
}
}
else
{
echo "pas d'enreg"
}
voila si sa peu t'aider
@+ -
slt
je viens d'essayer ta boucle dans mon code...
Je dois pas savoir comment ça marche le résultat n'est pas bon.
mon code ici :
la connexion #################################mysql_select_db($database_planning_test, $planning_test); $query_dateloc = "SELECT * FROM test ORDER BY test.idbateau, test.dat1"; $dateloc = mysql_query($query_dateloc, $planning_test) or die(mysql_error()); $row_dateloc = mysql_fetch_assoc($dateloc); $totalRows_dateloc = mysql_num_rows($dateloc);
les boucles##################################foreach ($tg as $y) // bateau 0 { echo "<tr><td>".$y."</td>"; foreach ($monthOfYear as $key=>$nbmonth) // mois 1 { $taillecel = nbjour($key); for ($i=1; $i<=$taillecel; $i++) // jour 1 { do { if ( $row_dateloc['dat1']==$i && $row_dateloc['mois1']==$key+1 && $row_dateloc['idbateau']==$y) { // si jour deb de loc = 1 et si mois de deb de loc = 1 et si bateau = 0 $gg = $row_dateloc['dat2']-$row_dateloc['dat1']; // nb de jours de loc for ($yy=1;$yy<=$gg+1;$yy++) { echo "<td>#".$i."</td>"; } //$i=$i+$gg; } else { echo "<td>-</td>"; } }while ($Tb=mysql_fetch_array($dateloc)); // tant qu'il y a des enregistrements } // on passe au jour 2
##############################
le rendu montre 1 est 1 seul période de loc mais commençant avec 2 jours de retard.....
Je crise décidement la prog c pas pour moi.
je vais finir par le faire faire par quelqu'un d'autre (avis aux amateurs).
Ciao -
re
a la place de ton do { ...} while();
essaye sa comme boucle
while ($Tb=mysql_fetch_array($DateLoc))
{
// avec ton traitement
}
et vérifie si sa correspond avec ta base ...
sinon ben la jeu voit pas car ya des fonctions que tu utilise que je connais pas (mysql_fetch_assoc) -
slt,
non ça marche pas non plus.
Il n'execute que 2 itérations de la boucle et ça s'arrete là, aucune période ne s'affiche.
my_sql_fetch_assoc c la meme chose que mysql_fetch_array utilisée avec l'option MYSQL_ASSOC (php 4)
Bref j'y comprend rien
Merci pour ton aide