Aller au contenu

Sujets conseillés

Posté

bonjour j'ai une table url ou je recupere des urls jusque la tout va bien :blush:

mais j'aimerais les afficher en lien une fois sur deux

merci

Posté

Bonjour,

Tu as un bout de code à nous montrer ? Une url où on peut voir ce qui est déja fait ?

Posté

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

Posté

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>";

Posté

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 :)

Posté

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

Posté

merci dan j'avais pas pensé d'utilisé un compteur :thumbsup:

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>";
}
}

Posté

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.

Posté

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 :unsure:... 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 :)

Posté

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 :P

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 ;)

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...