astroma
Messages postés27Date d'inscriptionmercredi 16 mai 2012StatutMembreDernière intervention 1 septembre 2012
-
16 mai 2012 à 15:18
astroma
Messages postés27Date d'inscriptionmercredi 16 mai 2012StatutMembreDernière intervention 1 septembre 2012
-
26 mai 2012 à 11:27
Bonjour,
Avant de vous poser mon problème, je voulais vous remercier pour toutes les informations et les conseils que j'ai pu trouver sur ce forum.
Je suis totalement débutant en php car il y a encore trois semaines je n'avais jamais tapé une ligne de code. Grâce à tous les informations sur Internet j'ai pu faire mon petit moteur de recherche mais là je bloque car je n'ai pas de message d'erreur pour me dire d'où peut venir le problème.
Voici le code qui me pose problème :
// $tableau est la variable de type matrice qui fait le tableau
$_SESSION['panier'] = array();
//On attribue un chiffre pour chaque enregistrement trouvé. La variable i est standard et représente le chiffre attribué pour chaque ligne de réponse
$i = "1";
//On boucle pour afficher la liste des enregistrements trouvés
while($_SESSION['panier'] = mysql_fetch_array($reqpart))
{
echo$_SESSION['panier']['EVENEMENT'];
La boucle est faite à partir de la requête suivante :
$reqpart = mysql_query("SELECT JOUR,MOIS,ANNEE,EVENEMENT,MOTSCLES,COMMENTAIRES FROM historique WHERE evenement LIKE '%$requete%'ORDER BY id ASC")
or die (mysql_error());
J'ai bien écrit session_start en haut de ma page
Lorsque je fais le echo sur cette page j'ai 5 résultats qui s'affichent en provenance de ma BDD ce qui est normal. Par contre lorsque sur une autre page je veux mettre
echo$_SESSION['panier']['EVENEMENT'];
je n'ai qu'un résultat qui s'affiche. Cela fait 48 heures que je cherche et là je bloque.
PS :Comme cette page est intermédiaire entre ma page index.php qui a le formulaire pour le POST et ma page choix.php j'ai aussi fait dessus un header.
J'espère avoir été clair
Quelqu'un peut il m'aider, merci d'avance
deutch36
Messages postés73Date d'inscriptionmardi 22 janvier 2008StatutMembreDernière intervention11 décembre 20123 16 mai 2012 à 15:33
Bonjour à vous,
Oui il est normal que vous n'ayez qu'un seul résultat.
Vous faites un tableau associatif avec le array cependant dans votre code le $_SESSION['panier']['EVENEMENT'] ne garde que votre dernier enregistrement.
essayer ceci :
astroma
Messages postés27Date d'inscriptionmercredi 16 mai 2012StatutMembreDernière intervention 1 septembre 2012 22 mai 2012 à 16:26
Bonjour,
Je suis désolé de revenir vers vous sans dire que j'ai trouvé la solution à mon problème grâce à votre aide mais hélas trois semaine de bidouillage ne m'ont pas transformé en développeur.
En fait j'y suis presque mais je me retrouve avec des erreurs offset sur ma page de résultat
En faisant un print_r de mon tableau sur la page de traitement j'ai eu la surprise de voir tout apparaitre en double. Je pense que le problème vient de là mais je n'arrive pas à le résoudre. Auriez vous une piste à me donner s'il vous plait.
CODE DE LA PAGE
// $tableau est la variable de type matrice qui fait le tableau
$donnees = array();
//On attribue un chiffre pour chaque enregistrement trouvé. La variable i est standard et représente le chiffre attribué pour chaque ligne de réponse
$indice=0;
//On boucle pour afficher la liste des enregistrements trouvés
while($donnees = mysql_fetch_array($reqpart))
{
//Création des variables de session
$_SESSION['panier']['EVENEMENT'][$indice] = $donnees['EVENEMENT'];
$indice++;
$_SESSION['panier']['ANNEE'][$indice] = $donnees['ANNEE'];
$indice++;
print_r($donnees);
// redirection si OK
header('Location: choix.php');
RESULTAT DU PRINT_R
Il existe 1 résultat pour votre recherche : intendant
Array ( [0] => Bégon devient intendant de la Nlle-France. [EVENEMENT] => Bégon devient intendant de la Nlle-France. [1] => 1710 [ANNEE] => 1710 )
Merci
Astroma
Vous n’avez pas trouvé la réponse que vous recherchez ?
astroma
Messages postés27Date d'inscriptionmercredi 16 mai 2012StatutMembreDernière intervention 1 septembre 2012 25 mai 2012 à 12:08
Merci pour le message.
En fait mon problème est que je n'arrive pas à faire passer mes résultats sur une autre page.
Lorsque j'ai un résultat à ma requête pas de problème mais lorsque j'en ai plusieurs, rien à faire il ne m'en garde qu'un. Les autres intervenants m'ont bien expliqués un moyen mais comme je suis totalement débutant je n'y arrive pas.
Pour expliquer un peu plus ce que je veux faire voici quelques mots
J'ai créé une base de données avec des évènements historiques. Pour interroger la base j'ai mis en place un petit moteur de recherche qui fonctionne en $post.
Je cherche à pouvoir exploiter les résultats en essayant de les organiser et pour cela j'essaye d'utiliser une boutique en ligne (Le choix n'est peut être pas bon)
astroma
Messages postés27Date d'inscriptionmercredi 16 mai 2012StatutMembreDernière intervention 1 septembre 2012 25 mai 2012 à 12:31
Quitte a être débutant j'essaye de comprendre les codes que je prend sur ce site.
Ce n'est pas une boutique en ligne au sens propre que je veux faire car il n'y a rien à vendre.
Je cherche juste à pouvoir sélectionner des faits historiques dans une base par rapport à un thème et ensuite de pouvoir les organiser comme je le souhaite en les sélectionnant par date, lieu, thématique. Et cela je veux pouvoir réussir à le faire à chaquee fois que je vais une recherche via mon moteur dans la base de données.
astroma
Messages postés27Date d'inscriptionmercredi 16 mai 2012StatutMembreDernière intervention 1 septembre 2012 25 mai 2012 à 16:09
Bon en relisant mon message je fatigue visiblement.
J'en suis là
$_SESSION['panier'] = array ();
//On attribue un chiffre pour chaque enregistrement trouvé. La variable i est standard et représente le chiffre attribué pour chaque ligne de réponse
$i = 0;
//On boucle pour afficher la liste des enregistrements trouvés
while($_SESSION['panier'][$i] = mysql_fetch_array($reqpart))
{
for ($i = 0;$i<2;$i++);
echo$_SESSION['panier'][$i]['EVENEMENT']; }
Et voila le message qu'il m'affiche et là je bloque
Notice: Undefined offset: 2 in C:\Documents and Settings\Papa\Mes documents\wekisto\ouverture.php on line 91
La ligne 91 est en gras. si quelqu'un veut bien me donner une piste ou un tuto a allez lire merci
astroma
Messages postés27Date d'inscriptionmercredi 16 mai 2012StatutMembreDernière intervention 1 septembre 2012 26 mai 2012 à 11:27
J'ai enfin trouvé la solution merci pour les conseils.
En fait la meilleur solution c'est de ne pas piquer les codes sources mais de lire les tuto en suivant pas à pas. Comme cela on évite de faire du boublibulga comme dirait Casimir