deuletor Posté 2 Mars 2007 Posté 2 Mars 2007 bonjour j'ai une table url ou je recupere des urls jusque la tout va bien mais j'aimerais les afficher en lien une fois sur deux merci
NorSeb Posté 2 Mars 2007 Posté 2 Mars 2007 Bonjour, Tu as un bout de code à nous montrer ? Une url où on peut voir ce qui est déja fait ?
deuletor Posté 2 Mars 2007 Auteur Posté 2 Mars 2007 voila echo "<b><center><font size=\"3\"><H1>Lien</H1></font></center></b><br>"; $query = mysql_query("SELECT * FROM url limit 0,30"); while($resultat = mysql_fetch_array($query)) { echo $resultat['lien']; echo "<br>"; } c'est au plus simple se que j'ai fait
Dan Posté 2 Mars 2007 Posté 2 Mars 2007 Pour faire un lien cliquable, il te suffit de mette ceci dans ta boucle: print '<a href="'.$resultat['lien'].'">'.$resultat['lien'].'</a> '; à la place de echo $resultat['lien']; echo "<br>";
deuletor Posté 2 Mars 2007 Auteur Posté 2 Mars 2007 oui mais dans ce cas tous mes liens seront cliquable moi j'aimerais avoir c'est un lien cliquable puis dans la deuxieme requet un lien non cliquable
Dan Posté 2 Mars 2007 Posté 2 Mars 2007 C'est très simple, tu mets dans ta boucle un compteur que tu initialises à zéro et que tu incrémentes à chaque passage. Si ton compteur est pair, tu affiches le lien, s'il est impair tu affiches juste l'URL non cliquable. Dan
deuletor Posté 2 Mars 2007 Auteur Posté 2 Mars 2007 merci dan j'avais pas pensé d'utilisé un compteur voila si sa peut servir a quelqu'un echo "<b><center><font size=\"3\"><H1>Lien</H1></font></center></b><br>"; $query = mysql_query("SELECT * FROM url limit 0,30"); $Nb_Enregistrements = mysql_num_rows($query); while($resultat = mysql_fetch_array($query)) //nombre impaire { if($Nb_Enregistrements % 2 == 1) { echo '<a href="'.$resultat['lien'].'">'.$resultat['lien'].'</a><br>'; } //nombre paire if($Nb_Enregistrements % 2 == 0) { echo $resultat['lien']; echo "<br>"; } }
Sarc Posté 2 Mars 2007 Posté 2 Mars 2007 Salut Je pense pas que ce que tu as choisi marchera réellement... Tu es sûr de toi ? limit 0,30 Ca, ça veut dire que ça prendra 30 enregistrements, donc si tu en as plus dans ta base, tu auras tout le temps $Nb_Enregistrements qui aura 30 comme valeur, donc qui sera pair ! Pour ton code, je te propose ça : $query = mysql_query("SELECT * FROM url limit 0,30"); while($resultat = mysql_fetch_array($query)) { $compteur = 1 - $compteur; if($compteur == 1) echo '<a href="'.$resultat['lien'].'">'.$resultat['lien'].'</a>'; else echo $resultat['lien']; echo "<br>"; } Note que quand tu n'as qu'une seule requête à effectuer après ton if, tu n'es pas obligé de mettre les accolades.
NorSeb Posté 2 Mars 2007 Posté 2 Mars 2007 Bonjour, Pour ton code, je te propose ça : $query = mysql_query("SELECT * FROM url limit 0,30"); while($resultat = mysql_fetch_array($query)) { $compteur = $compteur - 1; if($compteur == 1) echo '<a href="'.$resultat['lien'].'">'.$resultat['lien'].'</a>'; else echo $resultat['lien']; echo "<br>"; } Je ne comprend pas la boucle ... Où initialise-tu le compteur ? Note que quand tu n'as qu'une seule requête à effectuer après ton if, tu n'es pas obligé de mettre les accolades. C'est juste mon avis mais je ne suis pas d'accord. Je trouve d'une part que le code est plus facile à lire et d'autre part, plus facile à maintenir : si tu as une ligne de code à ajouter à ta condition, tu n'est pas obligé de te poser la question de savoir si tu dois ajouter des accolades
Sarc Posté 2 Mars 2007 Posté 2 Mars 2007 Tu as raison, j'ai voulu aller trop vite, je me suis trompé dans le compteur... $compteur = 1 - $compteur; Il prend 1 au premier passage, puis 0, puis 1... C'est un moyen de faire un compteur 0-1 rapidement, quand on se trompe pas Quand je n'ai qu'une seule condition, soit je la mets sur la même ligne que le if, soit je fais un retrait significatif par rapport au if, de façon à voir tout de suite qu'il n'y a qu'une seule requête. Ca évite d'utiliser 3 lignes pour écrire le code, personnellement je trouve ça moins lourd. Après, les goûts, les couleurs et le code hein
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant