Titag Posté 1 Octobre 2004 Posté 1 Octobre 2004 Salut, Enlève le mysql_close() pour commencer Si ta connection à la base de données est fermée, comment veux-tu travailler dessus ?
Titag Posté 1 Octobre 2004 Auteur Posté 1 Octobre 2004 $requete = mysql_query("SELECT * FROM sondage");echo "$requete"; Ce n'est pas de cette façon que l'on consulte une BDD... Pour en savoir plus je te conseille une des bible du php PHP.NET. Cherche les fonctions mysql_query, mysql_fectch_object, mysql_num_rows, etc... Si tu bloque, on t'aidera un peu plus bien entendu
Sans Esprit Posté 1 Octobre 2004 Posté 1 Octobre 2004 Salut, Enlève le mysql_close() pour commencerJe l'ai mis tout en bas comme ca il ferme la base en fin Mysql_query("INSERT INTO sondage (source,text)"."VALUES ('$choix','$text')");ceci te semble corect ???? car mon premier soucie est biensure d'alimenter la base de donnée désolé si je suis nul j'ai commencer hier le php merciiiii
Titag Posté 1 Octobre 2004 Auteur Posté 1 Octobre 2004 Mysql_query("INSERT INTO sondage (source,text)"."VALUES ('$choix','$text')"); Je conseille toujours de construire la requete dans une variable avant de l'exécuter. Ce plus simple (surtout quand la requète est compliquée), c'est plus facile pour débugger, on peut l'afficher, etc... Donc : $req = "INSERT INTO sondage(source, text) VALUES ('".$choix."', '".$text."')";mysql_query($req); De cette facon, si ca ne marche pas. Tu te fait un echo $req; et tu peux "voir" plus facilement ce qui ne va pas. Au besoin tu peux même faire un coper/coller dans phpMyAdmin pour exécuter la requète et voir ce qui ne va pas.
Titag Posté 1 Octobre 2004 Auteur Posté 1 Octobre 2004 (modifié) Ca a l'air de marcher ! Il ne te reste plus qu'a faire la synthèse des résultats Modifié 1 Octobre 2004 par Titag
Sans Esprit Posté 1 Octobre 2004 Posté 1 Octobre 2004 bon on va pas ce facher.... synthese heuu c'est quoi ca je sait que ca doit donner en clair les resultat avec si possible de pourcentage et d'autre chose qui brille mais je n'est mais alors aucune idee de comment le faire
bigornot Posté 2 Octobre 2004 Posté 2 Octobre 2004 bah la synthese, si c'est les pourcentages, ca va être dur ... tu vas devoir faire des looogues opérations ...
Anonymus Posté 2 Octobre 2004 Posté 2 Octobre 2004 Un pourcentage, ce n'est pas difficile, tout de meme ! Dans le cas : 80 pour cent des eleves ont le bac, on peut dire que dans une classe de 20 élèves, il y a 20 / 100 * 80 = 16 élèves qui l'auraient (si les stats s'avèrent juste ). Pour ton sondage : On sait que l'on a : - le nombre de personnes total ayant voté, ($total_sondes) - le nombre de personnes ayant voté le résultat A,($vote_A) - le nombre de personnes ayant voté le résultat B.($vote_ On peut très rapidement en déduire que : Pour "$total_sondés", il y a "$vote_A" votes. Tout comme, pour 20 eleves, il y avait 16 bac. Donc 16 pour 20 => 80 pour 100 => $vote_A pour $total_sondés On ne connais ni $vote_A, ni $total_sondés, seulement "100" (puisque c'est un pourcentage). la fonction sera : $_A_pourcent = ( 100 / $total_sondés )*$vote_A Idem pour B. J'ai été clair ? Euh...
Sans Esprit Posté 2 Octobre 2004 Posté 2 Octobre 2004 Salut, tu as ete bien clair mais si je ne m'abuse cela implique de mettre en decimale mes variables on ne peut pas multiplier des choux et des carotte comme on ma toujours dit Exemple $resultat = $vote_a*100 [je sait rien à voir] cela implique que $vote_a est un chiffre !! Comment faire ca?
Sarc Posté 2 Octobre 2004 Posté 2 Octobre 2004 (modifié) La il va falloir compter le nombre de lignes que tu as dans ta BDD qui ont la valeur "hub" par exemple... Pour cela, tu utilises COUNT dans ta requete SQL... (faudrait que je retrouve exactement comment on la forme, si personne ne le fait avant moi)... edit : voila j'ai verifié la requete... Alors, dans ton cas, tu dois d'abord compter le nombre total de réponses : $rq = "SELECT Count (source) FROM sondage": puis compter cas par cas : $rq = "SELECT Count (source) FROM sondage WHERE source='hubmaster'"; ... Ou alors, une autre méthode, c'est de selectionner tous les enregistrement, puis de faire une boucle, en incrémentant a chaque fois la source : $rq = "SELECT source FROM sondage";$req= mysql_query($rq);$total = mysql_num_rows($res);while($ligne = mysql_fetch_array($res));{if ($ligne['source'] == 'hubmaster') $reshub ++;[etc, meme chose pour les autres]} Voila, je en sais pas ce que conseillent les experts en optimisation (j'en suis pas la ) Modifié 2 Octobre 2004 par sarc
Anonymus Posté 2 Octobre 2004 Posté 2 Octobre 2004 Et donc, compter chaque 'occurence' de 'source', tout en les nommant, ca donnerait : select source,count(*) as votes from tablename2 group by source order by votes DESC Tu n'as pas les 'text', mais tu as le tableau trié par source, et ordonné par vote (le plus grand en premier). Pour le 'text', il te faut rappeler chaque ligne : select text from tablename2 where source='$source' Le $source étant le 'source' de la première requète. Voilà. ps : Dans ce cas là, 'votes' est un chiffre
Sarc Posté 13 Octobre 2004 Posté 13 Octobre 2004 Bonjour Désolé de pas avoir répondu avant, généralement mes posts passent inaperçus Alors, déjà ton erreur est la suivante : $Ntotal = mysql_query("SELECT Count (source) FROM sondage");$tot = mysql_num_rows($Ntotal); Alors deja il y a un probleme dans ta syntaxe, il faut virer l'espace entre count et (source) comme ceci : $Ntotal = mysql_query("SELECT Count(source) FROM sondage"); Ensuite, il y a une erreur de logique : avec count, tu obtiendras une variable qui te dira le nombre d'enregistrement qu'il aura trouvé... donc avec mysq_num_rows tu auras 1 ! (essaye dans mysql ) La ce qu'il faut faire c'est donc : $Nreq = mysql_query("SELECT Count(source) AS nbsource FROM sondage");$tot = mysql_result($Ntotal, 0, 'nbsource'); Ensuite tu peux refaire la meme chose avec un WHERE a la fin de la requete... $req = mysql_query("SELECT Count(source) AS nbhub FROM sondage WHERE source='hubmaster'");$Nhub = mysql_result($res, 0, 'nbhub'); Voila en espérant que tu comprennes mieux... (pas terrible moi pour expliquer lol)
Sans Esprit Posté 14 Octobre 2004 Posté 14 Octobre 2004 Salut, Pour etre clair tu me donne les phrases suivantes : $Ntotal = mysql_query("SELECT Count(source) FROM sondage");$Nreq = mysql_query("SELECT Count(source) AS nbsource FROM sondage"); $tot = mysql_result($Ntotal, 0, 'nbsource'); $req = mysql_query("SELECT Count(source) AS nbhub FROM sondage WHERE source='hubmaster'"); $Nhub = mysql_result($res, 0, 'nbhub'); Je réactive ma question ... d'ou vient le $res ?? J'en profite pour te demander d'ou sorte les deux nbsource et nbhub et si ce sont des variable pourquoi ne sont il pas demarer par un $ ? voici les questions ligne par ligne $Ntotal = mysql_query("SELECT Count(source) FROM sondage");Pour moi cette ligne devrais mettre le nombre total d'enregistrement (source) dans la variable $Ntotal me trompe-je ?les autres phrases c'est simple j'ai un peu de mal à les comprendre ...... MErci de l'aide que tu va m'apporter
Titag Posté 14 Octobre 2004 Auteur Posté 14 Octobre 2004 Salut, Je réactive ma question ... d'ou vient le $res ?? Ca doit être le $req avec une erreur de frappe J'en profite pour te demander d'ou sorte les deux nbsource et nbhub et si ce sont des variable pourquoi ne sont il pas demarer par un $ ? Il ne faut pas confondre les variables php, qui commencent par un $ et les autres. Tu vas saisir. c'est simple j'ai un peu de mal à les comprendre ...... Prenons : $Nreq = mysql_query("SELECT Count(source) AS nbsource FROM sondage"); Cette ligne execute une requète sur ta base de données. Cette requete va compter le nombre de champs source de ta table sondage et va la mettre dans une variable nommée nbsource. Ici, le résultat de la requète ne peut pas encore être exploité en php... Il faut aller "lire" le contenu de la variable $Nreq qui ne contient pas le résultat mais "pointe" vers celui-ci... On passe donc à la ligne suivante : $tot = mysql_result($Nreq, 0, 'nbsource'); msyql_result va prendre le dans les résultats de la requete, ligne 0 (la premiere), la valeur de nbsource et le mettre dans la variable php $tot. Pour en savoir plus : lire cette page et les autres. Et je te conseille très vivement de te pencher sur mysql_fetch_object et éviter mysql_result
Anonymus Posté 15 Octobre 2004 Posté 15 Octobre 2004 Cette requete va compter le nombre de champs source de ta table sondage et va la mettre dans une variable nommée nbsource. Juste pour dire que la requète va être envoyée à la base de données, qui va la traiter et stocker le résultat. le 'nbsource' est le nom du champ contenant le résultat de 'count(). il n'y a pas création de variable, de la part de la table, mais juste création d'une table temporaire stockant le résultat de la requète. le '$req', qui est plutot '$res' est l'identifiant de cette table, indispensable pour accéder aux résultats. A.
Sans Esprit Posté 15 Octobre 2004 Posté 15 Octobre 2004 Bonjour, Voici ce que j'ai pu ressortir de vos differente intervention // Collecte des données dans la base $Nsource = mysql_query ("SELECT count(source) AS Nbsource FROM sondage"); $Nhub = mysql_query ("SELECT count(source) AS Nbhub FROM sondage WHERE source='hubmaster'"); $Ngoogle = mysql_query ("SELECT count(source) AS Nbgoogle FROM sondage WHERE source='google'"); $Nannuaires = mysql_query ("SELECT count(source) AS Nbannuaires FROM sondage WHERE source='annuaires'"); $Nban = mysql_query ("SELECT count(source) AS Nbban FROM sondage WHERE source='Banniéres'"); $Nautre = mysql_query ("SELECT count(source) AS Nbautre FROM sondage WHERE source='autre'"); // Exploitation des données dans la base $Tsource = mysql_result ($Nsource,0,'nbsource'); $Thub = mysql_result ($Nhub,0,'nbhub'); $Tgoogle = mysql_result ($Ngoogle,0,'nbgoogle'); $Tannuaires = mysql_result ($Nannuaires,0,'nbannuaires'); $Tban = mysql_result ($Nban,0,'nbban'); $Tautre = mysql_result ($Nautre,0,'nbautre'); // Affichage des reponses if ($idConnexion) echo "<br>Connexion à la base : reussi<br>"; else echo "Connexion à la base : ratée <br>"; if ($connexionReussie) echo "Connexion au sondage : reussi<br>"; else echo "table sondage non atteinte<br>"; echo "Merci de ta participation : $surnom<br>"; echo "Vous avez connu ce site par : $choix <br>"; echo "Votre commentaire : $text "; echo "<table><tr><td>Nombre de réponses au total :</td> <td>$Tsource</td></tr>"; echo "<tr><td>Nombre de réponses hubmaster : <td>$Thub</td></tr>"; echo "<tr><td>Nombre de réponses google : <td>$Tgoogle</td></tr>"; echo "<tr><td>Nombre de réponses annuaires : <td>$Tannuaires</td></tr>"; echo "<tr><td>Nombre de réponses Banniéres : <td>$Tban</td></tr>"; echo "<tr><td>Nombre de réponses autre : <td>$Tautre</td></tr></table>"; while ($ligne = mysql_fetch_array($requete)) { print "<table border=1> <tr><td width=150px><b>".$ligne["login"]."</b></td> <td width=150px><b>".$ligne["source"]."</b></td><td width=550px>".$ligne["text"]."</td></tr></table>";} et si vous allez voir sur mon site vous verrez que ...... CA MARCHE un grand merci à tous mais ne perdez vos capacité en php ou ne les ranger pas de coté je risque d'avoir de nouveau besoin de vous d'ici peu me connaissan ce sera tres vite
Sarc Posté 15 Octobre 2004 Posté 15 Octobre 2004 (modifié) bonjour esprit... Deja, j'ai essayé d'aller voir ton site, mais il y a des ptits probs d'affichage avec firefox, donc j'y suis allé avec IE.. Et plein d'erreurs 404, et pas trouvé le sondage :/ Donc jpeux pas te dire s'il marche bien EDIT : arf mea culpa, j'ai regardé le site qui etait dans ton profil, et non celui de ta signature... J'ai finalement trouvé le sondage Modifié 15 Octobre 2004 par sarc
Sans Esprit Posté 16 Octobre 2004 Posté 16 Octobre 2004 Salut, je sais que mon sondage ou page php si vous preferez n'est pas optimisée mais "il faut laisser le temps au temps". J e vais de ce pas changer le site de mon profil merci
Sans Esprit Posté 19 Octobre 2004 Posté 19 Octobre 2004 Salut, J'ameliore encore mon site en epurant le code... Problématique : J'ai mon sondage en php qui marche, j'ai des competence en flash du coté design et interpolation mais je ne sais pas trop comment gerer les deux Je souhaite créer un flash qui comporterais des bouton radio et ce dis flash accederai en direct live à ma base de donnée aprés un clic sur le bouton valider. Voici mon avancée : Sur cette image on peut voir que j'ai cree des boutons avec dans le DATA [choix] qui correspond à ma variable $choix et dans component "autre" qui semble selon mois etre la valeur que pourra prendre ma variable $choix. Me trompe je ??? De plus j'ai ajouter un bouton Valider mais je ne sais pas comment inserer mon code en php !! Dois je aller dans l'action du fichier et mettre on (press) {php_fichiers/verif.php } ouon (press) {<?php $idConnexion = mysql_connect("localhost", "espritcool", "epsilon"); $connexionReussie = mysql_select_db("bibliotheque"); Mysql_query("INSERT INTO sondage (login,source,text)"."VALUES ('$surnom','$choix','$text')"); $requete = mysql_query("SELECT * FROM sondage"); ............ ?>} Merci de vos futurs réponses.
Sans Esprit Posté 20 Octobre 2004 Posté 20 Octobre 2004 Bonsoir, laisser tomber tout ca j'ai trouvé tout seul Mais dite moi si vous aimeriez savoir comment !! Si oui je peut faire un cours pour mon site ... je parle pas tout seul la ???
Anonymus Posté 20 Octobre 2004 Posté 20 Octobre 2004 Passer des paramètres de Php en Flash ? Si, ca m'intéresse ! Tu fais comment ?
otherschool Posté 25 Mai 2005 Posté 25 Mai 2005 Salut à tous, voila je suis tout neauveau sur ce site, et g un gros probleme.. Voila g un site avec un espace membre, et j'aimerai créé un systeme de vote inclu dans le profil de chacun des membre (automatikement) J'ai essayé mais impossible..voila merci de m'aider!! cordialement jérém!!
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant