Aller au contenu

Sotomayor01

Actif
  • Compteur de contenus

    25
  • Inscrit(e) le

  • Dernière visite

Réputation sur la communauté

0 Neutre

Pour me contacter

  • Mon Site
    http://

Information du profil

  • Genre
    Homme
  1. [Message original supprimé, pour cause de betise grosse come une montagne] J'en profite pour expliciter mon dernier message, qui est loin d'etre limpide : je voudrais en effet que les vidéos affichées possèdent TOUTES les conditions choisies dans le formulaire, et non, qu'elles soit affichées si une condition est remplie
  2. Ca y est ca prend bien bien forme, le formulaire marche presque comme je l'espérais !!! Je m'explique : les conditions sont mises bout à bout, mais moi je voudrais que les vidéos répondent à toutes les conditions. Est-ce possible ? Sinon, c'est pas grave, je me contenterais de celui-là qui est déjà très bien ! (petite question supplémentaire : y'a-t-il moyen d'afficher un message, quand le résultat en renvoie aucune vidéo ? je psne qu'il faut jouer avec $data=0, non ? Merci pour la N'ième fois, mon site vous doit beaucoup Boo2M0rs0 et Anonymus !!!
  3. Ben je poste le code, comme me l'a demandé Boo2M0rs0, car il ne voit pas d'ou vient le problème, tout comme moi bien sur (à peine étonnant !!)...
  4. Voila le code : <?php $db = mysql_connect('sql.free.fr', '*******', '*********') or die('Erreur de connexion '.mysql_error()); mysql_select_db('*****',$db) or die('Erreur de selection '.mysql_error()); //une petite protection if(!get_magic_quotes_gpc() ) foreach( $_POST as $index => $v) $_POST[$index] = addslashes($v); $conditions = array(); //ce tableau contient toutes les conditions de la recherche, écrites en code sql /* Homme ou Femme ? */ if( isset($_POST['hommes']) xor isset($_POST['femmes'])) { if( isset($_POST['hommes'])) $conditions[] = " sexe = 'H' "; //le champs sexe doit contenir H else $conditions[] = " sexe = 'F' "; //le champs sexe doit contenir F } /* Compétitions possibles */ $comps = array(); //contient toutes les compétitions autorisées pour la recherche for( $i = 1; $i<=6; $i++) //il y a 6 cases if( isset( $_POST["competition$i"] )) $comps[] = " competition = '" . $_POST["compete$i"] . "' "; if( count($comps) > 0) $conditions[] = '( ' . implode(" O R",$comps) . ')'; //on rajoute toutes les compétitions possibles dans une nouvelle condition /* Est ce qu'un nom est donnné ? */ if ( isset($_POST['nom']) && $_POST['nom'] != '') $conditions[] = " nom LIKE '{$_POST['nom']}%'"; //ON VA faire la requête sql :tout selectionner dans la table vidz , avec les conditions du tableau $conditions, séparées par des AND $sql = "SELECT * FROM vidz"; //id, prenom, nom, sexe, perf, style, lieu, pays, competition, date, nationalite, chemin if( count($conditions) != 0) $sql .= " WHERE " . implode(" AND ", $conditions); $data = mysql_query($sql) or die("erreur mysql : $sql"); Bon alors j'ai changé la ligne concernant le nom en rajoutant le "%" après $conditions[] = " nom LIKE '{$_POST['nom']}, et le nombre de competex possible (6 contre les 5 que tu avais codé !) En gros, rien d'énorme, j'espère just ene pas avoir comis d'impair !!! EDIT : (J'ai aussi modifié l'affichage des résultats, qui n'affecte en rien le formulaire) REEDIT : le code du formulaire au cas où, mais je n'y est rien modifié me semble t il, dans les chekbox dejà présentes <form name="form1" method="post" action="recup.php"> <p><h2>Sexe (cocher au moins une case) :</h2> <p><input type="checkbox" name="hommes"> Hommes</p> <p><input type="checkbox" name="femmes"> Femmes</p> <p> </p> <p> </p> <h2>Nom du/de la sauteur(euse) :</h2> <p><input type="text" name="nom" size="20"> (facultatif) </p> <p> </p> <p> </p> <h2>Style (cocher au moins une case ) :</h2> <input type="checkbox" name="ciseau" value="checkbox"> Ciseau <p><input type="checkbox" name="ventral" value="checkbox"> Ventral</p> <p><input type="checkbox" name="fosbury" value="checkbox"> Fosbury</p> <p> </p> <p> </p> <h2>Performance (cocher au moins une case ) :</h2> <p><input type="checkbox" name="perf" value="000149"> Entre 0 et 1 m 49</p> <p><input type="checkbox" name="perf" value="150169"> Entre 1 m 50 et 1 m 69</p> <p><input type="checkbox" name="perf" value="170189"> Entre 1 m 70 et 1 m 89</p> <p><input type="checkbox" name="perf" value="190209"> Entre 1 m 90 et 2 m 09 </p> <p><input type="checkbox" name="perf" value="210229"> Entre 2 m 10 et 2 m 29</p> <p><input type="checkbox" name="perf" value="230234"> Entre 2 m 30 et 2 m 34</p> <p><input type="checkbox" name="perf" value="235239"> Entre 2 m 35 et 2 m 39</p> <p><input type="checkbox" name="perf" value="239"> Plus de 2 m 39</p> <p> </p> <p> </p> <h2>Type de compétition (cocher au moins une case) :</h2> <p><input type="checkbox" name="compete1" value="jo"> Jeux Olympiques</p> <p><input type="checkbox" name="compete2" value="mondiaux"> Mondiaux</p> <p><input type="checkbox" name="compete3" value="europe"> Championnat d' Europe</p> <p><input type="checkbox" name="compete4" value="nat"> Championnats nationaux</p> <p><input type="checkbox" name="compete5" value="Meeting"> Meeting</p> <p><input type="checkbox" name="compete6" value="autre"> Autres</p> <p> </p> <p><input type="submit" name="Submit" value="Rechercher parmis les vidéos du site"></p> (Les chekbox "style de saut" n'existaient pas)
  5. Bonsoir Boo2MOrsO, echo du sql : SELECT * FROM vidz et print_r($conditions) donne : Array() Merci de ta réponse Juste une question, pourquoi fait on un $sql = "SELECT * FROM vidz"; PUIS $sql .= " WHERE " . implode(" AND ", $conditions); ?? Ces deux commandes ne se contredisent-elles pas ???
  6. Pas de solution de mon coté, par contre j'ai réussi à concevoir l'affichage des résultats et la page type de description des vidéos (je sais ca n'avance pas le schmilblik, mais là je decouvre php, très efficasse !)
  7. Bon pour ce qui est de la zone de texte, j'ai réussi à réparer le problème, en rajoutant un "%" après la valeur de cette zone, et ca marche !!! Pour le reste, je ne sais pas si vous avez des pistes, moi je cherche toujours... (le problème qui persiste est que le mysql_query est toujours le meme)
  8. J'ai fait ce que tu m'as conseillé, donc je vois que le mysql_query renvoi tous les enregistrements de la bdd, quelque soit les choix du formulaire : select sur tous les champs de la table ! La ressource qui est ensuite donnée est "ressource #3". Voila pour ce que je pouvais "faire" et merci pour les précisions à propos de la casse chez sql !
  9. Je vients d'éditer mon message, pendant que tu me donnai une piste... J'ai donc modifié le code. Désormais, j'ai une page blanche en guise de résultat !!! Et une question subsidiaire : php est-il sensible à la différence entre "H" et "h" (c'est la casse, me semble-t-il) ??
  10. Ca y est, j'ai trouvé d'ou vient le hic : les résultats sont ok si on n'entre pas de nom dans le chant texte, sinon, l'erreur renvoyée est : erreur mysql: SELECT id, prenom, nom, sexe, perf, lieu, pays, competition, date, nationalite, chemin FROM vidzWHERE nom LIKE 'soto' Pourtant, deux enregistrement dans la bdd correspondent ( le sauteur s'appelle...heu je vous laisse deviner !!!) EDIT : en fait je peut cocher n'importe quelle(s) case(s), le résultat me montrera toutes les videos enregistrées dans la bdd ! Grrr, qu'est ce que c'est désagréable d'attendre l'aide tout le temps, mais j'ai beau consulter les sites pour débutant en php, je n'arrive pas à trouver les problèmes
  11. D'acc' monsieur l'admin, et désolé pour mon petit up, j'espère n'avoir fait mal à aucun n'oeil !!! Bon, la connection à la bdd est ok, mais le problème vient maintenant de la ligne : $sql = "SELECT id, nom, prenom, sexe, perf, lieu, pays, competition, date, nationalite, url FROM vidz"; mais je ne vois pas bien où, vu que le nom de la table et des champs est correcte !!! Sinon, je serais incapable de refaire un code tel que celui-là, boo2morso, mais je comprend bien le résonnement suivi....
  12. Merci pour ta réponse Boo2MOrsO, j'ai mis ton code dans un atre fichier php, mais il survient une erreur à la ligne 36, c'est à dire : $data = mysql_query($sql) or die("erreur mysql: $sql"); et l'erreur est : Warning: mysql_query(): A link to the server could not be established in /var/www/free.fr/8/6/jump.and.feel/interface_vidz/recup.php on line 36 Il sagit donc d'une erreur de connection à la base, mais je ne sais pas comment regler ca...
  13. Ola, il était bien tard quand j'ai ecrit, donc c'est hyper mal expliqué !!! Je recommence mes explications : le formulaire (ICI) me permet d'enregistrer mes videos dans la bdd. Cette page ne sera accessible qu'à moi dans le futur. Mes visiteurs auront accès à cette page (ICI), et pourront donc choisir plusieues critères. Le problème, c'est que je sais pas comment récuperer ces variables, pour afficher par exemple les vidéos des "femmes ayant sauté entre 1m50 et 1m89 aux Jeux Olympiques" (ce qui est la conjugaison de plusieurs critères...). C'est donc pour la récupération des choix du visiteurs, et le traitement de ces variables afin d'afficher les liens vers les videos correspondantes que je bloque... Merci de votre aide ! PS : Voila comment s'organise ma base de donnée : La table "vidz" contient 11 champs (id, nom, prenom, sexe, perf, lieu, pays competition, date, nationalite, url).
  14. Bonjour, ou plutot bonsoir, J'ai créé un formulaire sur mon site (ICI), et j'ai créé ma base de donné en y renseignant les champs necessaires. Maintenant, il faut que cette recherche par le formulaire renvoie à une page montrant les vidéos correspondantes aux désirs du visiteur, et c'est là que je bloque... J'implore donc votre aide, pour récuperer les variablesd du formulaire, et ainsi en extraires les videos... Merci d'avance PS : d'autres choix viendront s'ajouter à ceux présents, mais je cherche ici une méthode, plutot qu'un code tout fait !! PS2 : J'ai oublié de dire que je suis un newbie de première classe, en ce qui concerne php/mysql...
×
×
  • Créer...