Bonjour,
je suis actuellement entrain de développer un système de news défilante et dynamique. C'est à dire que les informations seront entrées dans la base de données et un script ira les extraire de la base afin de les diffuser sur la page d'accueil du site.
Pour cela, les informations sont intégré en javascript dans un Array.
Mon problème se situe, au niveau de mon PHP lorsque je vais les chercher et que je veux les stocker chacune dans une variable.
Je m'explique : Je me connecte à ma base de données, j'ouvre la table correspondante et je sélectionne tout. Une fois que c'est fait, je compte le nombre de ligne que l'on définira pour cet exemple au nombre de 3.
Mon tableau quant à lui commence à 0, donc je défini que l'id du message correspond au nombre de lignes (3) - 1. J'aurais donc 0, 1, 2 .
Après ce que je voudrais c'est pouvoir intégrer dynamiquement chaque message dans sa variable javascript correspondante. Donc j'ai fait une boucle PHP qui commence à i=0 et qui se termine donc à l'id du message qui est le nombre de lignes - 1. Et dans cette boucle je dis que pour chaque ligne le titre de la news correspond à la premiere colonne de la table, que le corps du texte c'est la 2eme ... . Et mon problème arrive à ce niveau là.
En fait quand je cherche les infos (au nombre de 3 donc) ce code me sorts bien les 3 infos comme je veux, mais la variable i quant à elle reste à 0 pour chacune des news.
Pour que je puisse avoir la variable i qui passe à 0 1 2 il faut que je rajoute encore une boucle FOR dans ma boucle WHILE, mais là le problème c'est que la variable i aura bien pour valeur 0 1 2 mais chaque news sera répété autant de fois que de lignes (donc ici 3 fois).
Pour être plus clair je vais vous montrer le petit bout de code.
Avec ce code j'obtiens ce résultat :
ejs_scroll_message[0]='Test news1
insérer une news .... essayons !';
ejs_scroll_message[0]='bonjour
on va la tester encore une fois';
ejs_scroll_message[0]='bonjour2
dddddddddddddddddd
';
Comme vous pouvez le voir ejs_scroll_message reste toujours à 0.
Si je veux donc incrémenter la variable i je suis obligé de rajouter une boucle FOR dans mon WHILE ce qui me donne :
Ce qui me donne donc comme résultat :
ejs_scroll_message[0]='Test news1
insérer une news .... essayons !';
ejs_scroll_message[1]='Test news1
insérer une news .... essayons !';
ejs_scroll_message[2]='Test news1
insérer une news .... essayons !';
ejs_scroll_message[0]='bonjour
on va la tester encore une fois';
ejs_scroll_message[1]='bonjour
on va la tester encore une fois';
ejs_scroll_message[2]='bonjour
on va la tester encore une fois';
ejs_scroll_message[0]='bonjour2
dddddddddddddddddd
ejs_scroll_message[1]='bonjour2
dddddddddddddddddd
ejs_scroll_message[2]='bonjour2
dddddddddddddddddd
';
Or ce que moi j'aimerais trouver c'est le code me donnant ce résultat ci :
ejs_scroll_message[0]='Test news1
insérer une news .... essayons !';
ejs_scroll_message[1]='bonjour
on va la tester encore une fois';
ejs_scroll_message[2]='bonjour2
dddddddddddddddddd
';
Je sais que ça doit ne tenir à pas grand chose, mais je tourne en rond.
Je n'arrive pas à faire la bonne boucle pour arriver à ce résultat.
Si quelqu'un pouvait bien m'aider, je lui en serait très reconnaissant.
Merci d'avance,
Arnaud S.
Modifié par bibi-arnaud (23 Jul 2008 - 11:34)
je suis actuellement entrain de développer un système de news défilante et dynamique. C'est à dire que les informations seront entrées dans la base de données et un script ira les extraire de la base afin de les diffuser sur la page d'accueil du site.
Pour cela, les informations sont intégré en javascript dans un Array.
Mon problème se situe, au niveau de mon PHP lorsque je vais les chercher et que je veux les stocker chacune dans une variable.
Je m'explique : Je me connecte à ma base de données, j'ouvre la table correspondante et je sélectionne tout. Une fois que c'est fait, je compte le nombre de ligne que l'on définira pour cet exemple au nombre de 3.
Mon tableau quant à lui commence à 0, donc je défini que l'id du message correspond au nombre de lignes (3) - 1. J'aurais donc 0, 1, 2 .
Après ce que je voudrais c'est pouvoir intégrer dynamiquement chaque message dans sa variable javascript correspondante. Donc j'ai fait une boucle PHP qui commence à i=0 et qui se termine donc à l'id du message qui est le nombre de lignes - 1. Et dans cette boucle je dis que pour chaque ligne le titre de la news correspond à la premiere colonne de la table, que le corps du texte c'est la 2eme ... . Et mon problème arrive à ce niveau là.
En fait quand je cherche les infos (au nombre de 3 donc) ce code me sorts bien les 3 infos comme je veux, mais la variable i quant à elle reste à 0 pour chacune des news.
Pour que je puisse avoir la variable i qui passe à 0 1 2 il faut que je rajoute encore une boucle FOR dans ma boucle WHILE, mais là le problème c'est que la variable i aura bien pour valeur 0 1 2 mais chaque news sera répété autant de fois que de lignes (donc ici 3 fois).
Pour être plus clair je vais vous montrer le petit bout de code.
<?php
include "inc/db.lib.inc.php";
$db = db_connect();
db_database();
$query = "SELECT * FROM krea_news";
$req = mysql_query($query)or die('erreur');
$nb_ligne = mysql_num_rows($req);
$id_mess = $nb_ligne-1;
for ($i=0; $i<=$id_mess; $i++)
{
while($row = mysql_fetch_row($req))
{
$titre[$i] = $row[1];
$message[$i] = $row[2];
$photo[$i] = $row[3];
$mess[$i]="ejs_scroll_message[$i]='<a href='#' class='ejs_scroll'><b><i>$titre[$i]</i></b><br/><br/>$message[$i]<br/></a>';";
echo $mess[$i]." ";
}
}
?>
Avec ce code j'obtiens ce résultat :
ejs_scroll_message[0]='Test news1
insérer une news .... essayons !';
ejs_scroll_message[0]='bonjour
on va la tester encore une fois';
ejs_scroll_message[0]='bonjour2
dddddddddddddddddd
';
Comme vous pouvez le voir ejs_scroll_message reste toujours à 0.
Si je veux donc incrémenter la variable i je suis obligé de rajouter une boucle FOR dans mon WHILE ce qui me donne :
<?php
include "inc/db.lib.inc.php";
$db = db_connect();
db_database();
$query = "SELECT * FROM krea_news";
$req = mysql_query($query)or die('erreur');
$nb_ligne = mysql_num_rows($req);
$id_mess = $nb_ligne-1;
for ($i=0; $i<=$id_mess; $i++)
{
while($row = mysql_fetch_row($req))
{
for ($i=0; $i<=$id_mess; $i++)
{
$titre[$i] = $row[1];
$message[$i] = $row[2];
$photo[$i] = $row[3];
$mess[$i]="ejs_scroll_message[$i]='<a href='#' class='ejs_scroll'><b><i>$titre[$i]</i></b><br/><br/>$message[$i]<br/></a>';";
echo $mess[$i]." ";
}
}
}
?>
Ce qui me donne donc comme résultat :
ejs_scroll_message[0]='Test news1
insérer une news .... essayons !';
ejs_scroll_message[1]='Test news1
insérer une news .... essayons !';
ejs_scroll_message[2]='Test news1
insérer une news .... essayons !';
ejs_scroll_message[0]='bonjour
on va la tester encore une fois';
ejs_scroll_message[1]='bonjour
on va la tester encore une fois';
ejs_scroll_message[2]='bonjour
on va la tester encore une fois';
ejs_scroll_message[0]='bonjour2
dddddddddddddddddd
ejs_scroll_message[1]='bonjour2
dddddddddddddddddd
ejs_scroll_message[2]='bonjour2
dddddddddddddddddd
';
Or ce que moi j'aimerais trouver c'est le code me donnant ce résultat ci :
ejs_scroll_message[0]='Test news1
insérer une news .... essayons !';
ejs_scroll_message[1]='bonjour
on va la tester encore une fois';
ejs_scroll_message[2]='bonjour2
dddddddddddddddddd
';
Je sais que ça doit ne tenir à pas grand chose, mais je tourne en rond.
Je n'arrive pas à faire la bonne boucle pour arriver à ce résultat.
Si quelqu'un pouvait bien m'aider, je lui en serait très reconnaissant.
Merci d'avance,
Arnaud S.
Modifié par bibi-arnaud (23 Jul 2008 - 11:34)