begin process at 2010 02 10 09:55:12
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

Problemes d'affichage avec une boucle tanque


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problemes d'affichage avec une boucle tanque

vendredi 16 décembre 2005 à 11:13:58 | Problemes d'affichage avec une boucle tanque

pekplusultra

Bonjour,

Je souhaiterais afficher les resultats de ma table par liste comme ci dessous:

Nom      Sujet      Envoyeur ...

Mon code fonctionne bien lorsque la table est pleine mais lorsquelle est vide, j'obtient des erreurs.


"Warning: mysql_data_seek() [function.mysql-data-seek]: Offset 0 is invalid for MySQL result index 3 (or the query data is unbuffered) in /liste_messages.php on line 121"

Voici mon code:

Code pour me connecter a ma base, ainsi que ma requete

<php?
require_once('connexion.php');
session_start();
if(isset($_SESSION['login'])){
}
else {
header("Location:index.php?erreur=intru");
}

// Je créé ma requete et je place le resultat dans un tableau

mysql_select_db($database_dbprotect, $dbprotect);
$requet = "SELECT login, message, vue, id, envoyeur, sujet FROM msg Where login = '$login'";
$query = mysql_query($requet, $dbprotect);
$nb = mysql_num_rows($query);

?>

Code pour afficher:

<form action="" method="post" name="affichage">
                        <td height="37">&nbsp;</td>
                        <td width="27%" align="left" valign="top">
                          <?php while($tab=mysql_fetch_assoc($query)) {
                                                                       if($tab['vue'] == 0) {?>
                          <a href="lire_messages.php?id=<?php echo $tab['id'];?>" class="menuebleu"><?php echo ''.$tab['envoyeur'];?></a><br>
                          <?php } }?>
                        </td>
                        <td align="left" valign="top">
                          <?php  mysql_data_seek($query, 0);
                                 while($tab=mysql_fetch_assoc($query)) {
                                                                           if($tab['vue'] == 0) { ?>
                          <a class="menuebleu"><?php echo $tab['sujet'];?></a><br>
                          <?php } }?>


Please avez vous une solution à me proposer.
Merci

vendredi 16 décembre 2005 à 11:23:43 | Re : Problemes d'affichage avec une boucle tanque

tetedemul

C'est logique; cette erreur est expliquée ici : http://fr2.php.net/function.mysql-data-seek.
Tu essaies de faire pointer (dans le cas où il n'y a pas de résultats) le pointeur mysql sur le premier enregistrement (inexistant) . Vérifie si mysql_num_rows est >0 avant d'effectuer ton affichage
Debutant informatique :-)
vendredi 16 décembre 2005 à 13:09:33 | Re : Problemes d'affichage avec une boucle tanque

pekplusultra

ok je vais regarder ca, je te remercie.
oui debutant en php :)
vendredi 16 décembre 2005 à 13:14:14 | Re : Problemes d'affichage avec une boucle tanque

tetedemul


Ne te méprends pas, débutant informatique c'est ma signature, je ne me permettrais pas de te dire ça...

if($nb>0)
{//Code d'affichage comme il est maintenant}
else
{
echo "<b>Il n'y a aucun résultat à votre requête</b>";
}
Debutant informatique :-)

vendredi 16 décembre 2005 à 14:13:21 | Re : Problemes d'affichage avec une boucle tanque

pekplusultra

voila ca fonctionne apres modif :

<?php  if(($nb = mysql_num_rows($query)) >=1){ mysql_data_seek($query, 0);
                                                                     while($tab=mysql_fetch_assoc($query)) {
                                                                           if($tab['vue'] == 0) { ?>
                                                                          <a class="menuebleu"><?php echo $tab['sujet'];?></a><br>
                          <?php                                 } } }?>



mais j'ai une autre erreur, apres que j'envoie ma requette pour effacer mes donner dans ma base, je fait un header sur la meme page pour la raffraichir mais il me met une autre erreur:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL-Link resource in c:\documents and settings\pekultra\mes documents\site sans nom 1\liste_messages.php on line 116

J'ai essayer avec mysql_affected_rows(); mais ca me met toujours la meme erreur . tu aurais une idée stp?
vendredi 16 décembre 2005 à 14:31:09 | Re : Problemes d'affichage avec une boucle tanque

tetedemul

Peut etre peux tu nous envoyer le fichier complet (en précisant où est la ligne 116) et en nous expliquant ce que tu entends par "effacer mes données dans la base"

Debutant informatique :-)
vendredi 16 décembre 2005 à 17:22:20 | Re : Problemes d'affichage avec une boucle tanque

kankrelune

Membre Club
pourquoi fais tu...

if(($nb = mysql_num_rows($query)) {...

Alors que $nb existe déja (tu le fais juste après la requète)... comme le dit tetedemul... qui plus est je trouve que tu te complique la vie... .. .

- pourquoi un if vide sur la session ?
- A quoi sert la balise de formulaire au debut du code html alors que tu affiche des liens après ?
- Au lieu de if($mavar == 0){... fais if(empty($mavar)){...
- Pourquoi faire deux fois la même boucle...

Moi je ferais plutot comme ça...

session_start();

if(!isset($_SESSION['login'])){
header('Location: index.php?erreur=intru');
}

require_once('connexion.php');

mysql_select_db($database_dbprotect, $dbprotect) or die('la table '.$database_dbprotect.'n\'existe pas... .. .');
$query = 'SELECT login, message, vue, id, envoyeur, sujet FROM msg WHERE login ='.addslashes($login);
$result = mysql_query($query, $dbprotect);
$nb = mysql_num_rows($result);

echo '<table align="center" width="75%">';

    if($nb > 0) {
while($tab = mysql_fetch_assoc($result)) {
if(empty($tab['vue'])) {
   echo '<tr>
<td width="10%">
<img src="images/nonlu.gif" align="center" />
</td>
                        <td width="45%" align="center" valign="top">
<a href="lire_messages.php?id='.$tab['id']
.'" class="menuebleu">'.$tab['envoyeur'].'</a>
</td>
<td width="45%" align="center" valign="top">
<a  href="lire_messages.php?id='.$tab['id']
.'" class="menuebleu">'.$tab['sujet']'.</a>
</td>
</tr>';
} else {
echo '<tr>
<td width="10%">
<img src="images/lu.gif" align="center" />
</td>
                        <td width="45%" align="center" valign="top">
<a href="lire_messages.php?id='.$tab['id']
.'" class="menuebleu">'.$tab['envoyeur'].'</a>
</td>
<td width="45%" align="center" valign="top">
<a href="lire_messages.php?id='.$tab['id']
.'" class="menuebleu">'.$tab['sujet']'.</a>
</td>
</tr>';
}
}
} else {
echo '<tr>
<td width="100%" align="left" valign="top">
Vous n\'avez aucun message... .. .
</td>
</tr>
';
}

echo '</table>';

@ tchaOo°


Cette discussion est classée dans : code, mysql, login, data, query


Répondre à ce message

Sujets en rapport avec ce message

galere avec free et php MySQL [ par bigfootspi ] bon voila le code de mon livre d'or !le soucis c'est qu'il met dix ans a se connecter a la base alors que de temps en temps il va vite ! je ne compren Problème de formulaire dynamique [ par labouse ] Bonjour,Bon je vais essayer d'être clair: j'ai une table mysql avec nom prénom et un code service je fais une requete pour afficher tout le monde pour mysql_query [ par linkid ] Bonjour,j'ai un petit problème avec ce code :$log = mysql_query("SELECT Login FROM membres_tbl WHERE Password='$_POST[password]'") or die(mysql_error( Es ce que mon code est propre [ par sense ] Je code un formulaire pour faire un trie dans ma requete, mais ce que j'ai fais fonctionne mais je pense que j'en fais trop :/ quelqu'un peu me consei Correction de code simple pour debutant [ par michmichman ] Bonjour j'ai fais un petit code pour verifier si un utilisateur est enregistré dans ma db mais bien sur il marche pasje vous le montre je suis sur que Reinitialisation [ par blackvault ] Je souhaite reinitialiser une entree de ma table de donnée trez... mais apparemment ca marche pas du tout... pourquoi?? Merci de m'aider! require_on php/mysql requete plusieurs tables et bases [ par fredo35m ] Bonjour,j'aimerais savoir comment faire pour requeter sur plusieurs tables et bases, je m'explique :BASE 1:Requête 1 : Sélection des CODES COMMUNES se Probleme de requete mysql [ par momoxe ] Bonjour, j'ai fait un code en php pour mon site web et il ne fonctionne pas.A chaque fois, mon serveur me renvoie "parse error on line 5, ce qui corre deux pb dans mon code php!! [ par dev10 ] voilà mon prbolème, si squelqu'un peut m'aiderWarning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\....doc.php on l Fonction récursive et enregistrement ds tableau[ ] :-/ ? [ par yazerty55 ] Bonjour,J'ai une table mysql avec ceci :[code]category_id - category - parent_num1 - Catégorie 1 - 02 - Catégorie 2 - 53 - Catégorie 3 - 24 - Catégori


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,092 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales