Formulaire recherche mysql

23.08.2004, 19:00 Salut

Je cherche un exemple simple d'un formulaire, avec :



.Une page html avec des champs de genre "nom", "prenom", etc... (des textfield, quoi)



.Une page php avec les scripts de recherche dans la base de données, permettant d'afficher les résultats de la recherche



J'ai déjà créé des tables dans ma bdd mysql et je voudrais pouvoir faire des recherches dessus

Les trucs que je trouve sur le net sont incomplets :|

En fait c'est pour voir comment ça marche pour les requetes, ensuite j'adapeterai à ce qu'il me faut

Merci |I
hokutomarsouin
hokutomarsouin
hokutomarsouin
Messages : 1 750
23.08.2004, 20:00 c sur que ca doit pas trop marcher si t'a mis des smiley :rollin



bon je regarde ce que j'ai
mumuri forum.ashots.org
mumuri
mumuri
Messages : 13 307
23.08.2004, 20:00 C'est incomplet ton truc.



Va voir sur le site de php, je crois qu'il y a des exempls pour des requêtes sql.
dihap
dihap
dihap
Messages : 2 524
23.08.2004, 20:00 lol dihap hokutomarsouin
hokutomarsouin
hokutomarsouin
Messages : 1 750
23.08.2004, 21:00 tout peut etre dans un seul fichier mumuri forum.ashots.org
mumuri
mumuri
Messages : 13 307
23.08.2004, 21:00 ok mais c'est quoi le code à mettre dans le submit du bouton ? il recharge la même page ? hokutomarsouin
hokutomarsouin
hokutomarsouin
Messages : 1 750
24.08.2004, 02:00
 
Code<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "<a href="http://www.w3.org/TR/html4/loose.dtd&quot;&gt;">www.w3.org/TR/html4/loose.dtd"></a>

<html>

<head>
<title>La page du hokuto</title>
<meta <a href="http-equiv=&quot;content-type&quot;">uiv="content-type"</a> content="text/html; charset=iso-8859-1" />
<meta name="generator" content="HAPedit 3.0 - hapedit.free.fr">
</head>
<body bgcolor="#FFFFFF">
<table width=100% ><tr><td align=center>
<?
include "fonction.inc.php";
$HIM="mechant";

// exemple numéro 0 -> affichage des noms de la base
$COUP=HOKUTO_DE_CUISINE("SELECT `nom` FROM `hokuto_user` &quot ;) ;

while (list($nom)= HOKUTO_SUIVANT($COUP))
{
echo "<b>".$nom."</b><br>";
}
// exemple numéro 1 -> nombre d'enregistrement
echo Milleetuncoupdelagrandeourse()." noms trouvés";



// exemple numero 2 -> récupération d'un nom a partir d'un ID
$nom=HOKUTO_SUISSE("hokuto_user","nom","id",1,0);
if($nom) echo $nom;
else "nom non existant";

// exemple numero 3 -> récupération d'une description a partir d'un nom
$nom=HOKUTO_SUISSE("hokuto_user","details","nom","mumuri&quot ;) ;
if($nom) echo $nom;
else "nom non existant";

// exemple numero 4 -> effacage d'une ligne de la table hokuto_user
HOKUTO_APAIN("hokuto_user","nom","mumuri&quot ;) ;

// exemple numero 5 -> insertion de donnée ds la table hokuto_user
$COLONNES = array(); $VALEURS=array();
$COLONNES[] = "nom"; $VALEURS[]="mumuri";
$COLONNES[] = "details"; $VALEURS[]="un gars qui code en php";
HOKUTO_PLANCHEAPAIN($COLONNES,$VALEURS);
// ou HOKUTO_PLANCHEAPAIN($COLONNES,$VALEURS,"hokuto_user&quot ;) ;
// "hokuto_user" étant la valeur de la table par défaut

// exemple numero 6 -> recherche

// ici c'est le formulaire de recherche , tout ce qui est
// affichage en gros
?>
<table border=1><tr><td>
Recherche
<form name="hokuto" action="index.html" method="POST"><br>
<input type="text" name="nom" value="nom" > <br>
<input type="text" name="detail" value="detail" ><br>
<input type="submit" value="Rechercher"> <br>
</form>

<?
// récupération des values et affichage des données correspondantes

// function de récupération des variables de formulaires
// normalemnt vaut mieux mettre vos fonctions en début de page
// j'ai laissé ici pour que vous ayer pas a remonter avec le scroll
function HOKUTO_NO_POST($variable)
{
if (!empty($_POST[$variable]))$return=$_POST[$variable];
else $return=0;
return $return;
}


if (!empty($_POST)){ // si le formulaire a été validé /!\ quand méme
$COLONNES = array(); $VALEURS=array();
$COLONNES[] = "nom"; $VALEURS[]=HOKUTO_NO_POST("nom&quot ;) ;
$COLONNES[] = "details"; $VALEURS[]=HOKUTO_NO_POST("detail&quot ;) ;
$attaque=NANTO_DE_VISON($COLONNES,$VALEURS);
$COUP = HOKUTO_DE_CUISINE($attaque);
while ($Resultat = HOKUTO_SUIVANT($COUP,1))
{

foreach($Resultat as $cle => $val)
{
echo "[".$cle." - ".$val."]";
}
echo " <br>";
} } else { echo "rien a afficher";}
?>
</td></tr></table><br>
<?


HOKUTO_PETITCANIF("Tu ne le sais pas , mais tu es déja mort&quot ;) ; // ceci est un commentaire
// tous les commentaires peuvent être enlevés en mettant la valeur
// $base['debug'] à false dans le fichier fonction.inc.php

HOKUTO_FINISH($HIM); // n'oubliez surtout pas ca

?>
</td></tr></table>
</body>

</html>


mumuri forum.ashots.org
mumuri
mumuri
Messages : 13 307
24.08.2004, 11:00 tu trouveras la source ZIP ici ;) .



hokuto

hokuto

hokuto




site.voila.fr/dede2215/projethokuto.zip



t'a une fonction de recherche

une fonction d'insertion

une fonction de selection

une fonction d'affichage ...

+ un peu de debuggage



par contre pas de fonction update et de fonction d'erreurs
mumuri forum.ashots.org
mumuri
mumuri
Messages : 13 307
24.08.2004, 13:00 merci bien pour tout ceci, mais je crois que j'ai un problème :

quand je vais dans install.php, j'ai juste des images avec du texte à coté, je peux rien cliquer

quand je vais dans index.php, j'ai aussi des images et du texte, mais on dirait que c'est le résultat d'une recherche parce qu'il y a écrit



marsouin

marsouin

marsouin

mumuri

4 noms trouvés



en fait je crois que le code apparait en tant que texte (SELECT * FROM `hokuto_user` WHERE`nom` LIKE 'nom' AND`details` LIKE 'detail' LIMIT 0 , 10)
hokutomarsouin
hokutomarsouin
hokutomarsouin
Messages : 1 750
24.08.2004, 13:00 edite le fichier fonction.inc.php et mets la

variable $base['debug') à false



et tu n'auras plus les commentaires avec les images



les textes avec les images que tu vois te servent seulement a debbuger ton script, si t'a des erreurs sur la pages tu le verras dessuite ;) .



fais déja ca et tu comprendras ;)



(lis aussi la source de index.php pour te familiariser avec les fonction)



-----------



l'intérét c'est que tu peux facilement te mettre des repéres dans ton code grace a la fonction HOKUTO_PETITCANIF ainsi quand tu codes tu sais dessuite ou tu en est
mumuri forum.ashots.org
mumuri
mumuri
Messages : 13 307
24.08.2004, 17:00 je suis en train d'essayer de comprendre ton truc, ça a l'air pas trop trop compliqué



j'ai fait une pause car ils voulaient que je vérifie si mysql était bien installé sur leur serveur

Parce que j'ai installé phpMyAdmin sur leur serveur, et ça affiche



Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'



alors que sur ma machine, qui est sous windows bien entendu, ça marche sans problèmes. Et comme par hasard, easyphp n'existe pas sous linux
grin

grin

grin
D">
hokutomarsouin
hokutomarsouin
hokutomarsouin
Messages : 1 750
24.08.2004, 18:00 Attend y'a un truc que je capte pas

Les fonctions que t'as mis dans tes exemples (insertion/effactement d'une donnée) elles se lancent à chaque fois que je lance le fichier index.php ? Parce que moi je vais le faire, mais avec des boutons genre insérer, supprimer. Là à chaque fois que je lance le fichier, il créé des fiches alors ?
hokutomarsouin
hokutomarsouin
hokutomarsouin
Messages : 1 750
24.08.2004, 19:00 oui le index.php c''est un exemple d'utilisation des fonctions que je t'ai faites ...



a toi d'appliquer ;)
mumuri forum.ashots.org
mumuri
mumuri
Messages : 13 307
24.08.2004, 19:00 Pas facile de s'y retrouver avec les noms de fonction que t'as mis :rollin

T'aurais du laisser les noms de base :D
hokutomarsouin
hokutomarsouin
hokutomarsouin
Messages : 1 750
24.08.2004, 20:00 c moi qu'est tout fait et je me suis couché a 2h du mat pour terminer, les fonctions ont été simplifié au maximum pour que t'es pas trop de mal à t'en servir (en plus j'ai posté la source sur phpcs et je me suis fait censuré et y'a un gars qui m'a dit que je faisais pitié lol )



je te conseille de te faire un petit papier avec le nom de chaque fonction et son utilité ;)



en plus aprés y'a des trucs mémo technique milleetuncoupdelagrandeourse y'a un chiffre donc c'est pour compter ...

mumuri forum.ashots.org
mumuri
mumuri
Messages : 13 307
24.08.2004, 22:00 mdr, fallait pas te donner tant de peine :)

j'ai lu que tu vouvoyais donc je pensais que c'était un truc que t'avais récupéré
hokutomarsouin
hokutomarsouin
hokutomarsouin
Messages : 1 750
25.08.2004, 10:00 a l'originie ct aussi pour diffuser sur phpcs, comme j'avais fait un bon truc je pensais que ca pouvez intéréssé des gens ;) .



ceci dit pour ton truc a bouton .. insérer etc

tu as toous cequ'il faut dans l'exemple



pour chaque bouton tu fais un formulaire

tu valides le formulaire et tu recupéreres les variables

avec hokuto_no_post

si 'insertion' alors HOKUTO_PLANCHEAPAIN

si 'effacement' alors HOKUTO_A_PAIN

etc
mumuri forum.ashots.org
mumuri
mumuri
Messages : 13 307
25.08.2004, 12:00 ah ouais faut récupérer les variables dans le fichier php... parce qu'en fait je m'étais fait un propre exemple, avec un formulaire html contenant un textfield, et le fichier php qui était censé affiché les résultats ne voyait pas les variables (il mettait "notice : undefined variable&quot ;)

Je vais suivre ton fichier pas à pas et faire un mémo comme tu dis
hokutomarsouin
hokutomarsouin
hokutomarsouin
Messages : 1 750
25.08.2004, 18:00 www.infres.enst.fr/~danza.../php.phtml hokutomarsouin
hokutomarsouin
hokutomarsouin
Messages : 1 750
25.08.2004, 19:00 Mumu y'a un truc que je capte pas

Dans ta fonction de recherche HOKUTO_NO_POST, pourquoi t'as besoin de NANTO_DE_VISON, HOKUTO_DE_CUISINE, et HOKUTO_SUIVANT ?



NANTO_DE_VISON = attribue à la variable "$attaque" la valeur de la clé que tu cherches dans ta table



HOKUTO_DE_CUISINE = connection à la base et appel au débuggage (est-ce nécessaire si je met tout dans un fichier avec la connexion en début de page ?)



HOKUTO_SUIVANT = au cas où on a plusieurs résultats



C'est bien ça ?
hokutomarsouin
hokutomarsouin
hokutomarsouin
Messages : 1 750
25.08.2004, 19:00 HOKUTO_NO_POST : fonction qui permet de récupérer les variables passer dans un formulaire



NANTO_DE_VISON : fonction qui permet de généré la requete SQL de recherche $attaque (select * where tel truc = tel autre truc)



HOKUTO_DE_CUISINE : fonction qui permet d'éffectuer une requete vers la base ($coup).



HOKUTO_SUIVANT: fonction qui permet de se déplacer à la ligne suivante dans notre requete



fo comprendre la philosophie du hokuto no base aussi ,



à l'origine la variable HIM (qui permet l'utilisation de base mysql) est un méchant, ton but au travers de la page est de la détruire. Pour cela tu vas générer des attaques (des requetes) et lancer ses attaques grace a des coups ($coup). , récupérer le résultat du coup pour l'afficher et à la fin tu detruit ta base (tu ferme ta base) avec hokuto_finish(him)



LA CONNECTION A LA BASE EST AUTOMATIQUE DANS MON CODE ;) , c'est justement tout l'intérét par rapport au script classique ou il faut se connecter a chaque fois .



HOKUTO_PETITCANIF est la fonction debbugage que tu peux appeler dans ton code; (méme celui de la page principale)



ca peut etre trés intéréssant si tu sait plus ou t'en ai. par exemple aprés la fonction NANTO_DE_VISION , tu peux faire un HOKUTO_PETITCANIF("génération de la requete de recherche&quot ;)

mumuri forum.ashots.org
mumuri
mumuri
Messages : 13 307
25.08.2004, 20:00 une chose aussi NANTO de vison n'est pas une technique du HOKUTO (tu le sais mieux que moi d'ailleur)



Ce qui se traduit par NANTO DE VISON est un générateur de requete, il génére une requete a partir de chaines de caractére prédéfini (la base de donnée n'intervient pas )



Seulement j'ai préféré regroupé ca dans le fichier fonction puisque ca pouvait etre utile.



(traduction : Ken doit savoir se servir des 2 techniques de combat pour pouvoir survivre)



mumuri forum.ashots.org
mumuri
mumuri
Messages : 13 307
25.08.2004, 21:00 Ouais mais ça m'embrouille l'esprit si tu mets des trucs supplémentaires aussi :rollin

Surtout que toutes ses fonctions s'appellent entre elles :p



En clair, si j'ai juste besoin de faire une recherche dans la base de données, voilà la procédure dans l'ordre :



1) HOKUTO_NO_POST récupère les valeurs du formulaire



2) NANTO_DE_VISON génère une requête pour ces valeurs, requête qui va être insérée dans la variable "$attaque"



3) HOKUTO_DE_CUISINE exécute la requête "$attaque" que NANTO_DE_VISON lui a transmise. La connexion à la base de données se fait à ce moment là. Ensuite HOKUTO_DE_CUISINE retourne le résultat de la requête via la variable "$COUP" ("$Result_Requete" n'est qu'une variable locale pour la fonction, n'est ce pas ?)



4) On affiche le résultat de la requête. Dans une boucle, HOKUTO_SUIVANT vérifie si il y a d'autre résultats. Tant que HOKUTO_SUIVANT trouve d'autres résultats, on les imprime



5) On ferme la base avec HOKUTO_FINISH



En résumé, tout le processus se passe dans la fonction HOKUTO_NO_POST car c'est elle qui fait appel à toutes les autres fonctions



Si l'on veut uniquement faire des recherches (pas d'ajout/suppr/modif), les fonctions non nécessaires sont Milleetuncoupdelagrandeourse, HOKUTO_A_HUITRE, HOKUTO_A_BEURRE, HOKUTO_PLANCHE_A_PAIN, HOKUTO_SUISSE, HOKUTO_A_PAIN, HOKUTO_PETITCANIF

(je dis pas que je vais pas les utiliser, je veux faire ça étapes par étapes lol )



Est-ce que j'ai dit des conneries ? : lol
hokutomarsouin
hokutomarsouin
hokutomarsouin
Messages : 1 750
25.08.2004, 21:00 c pas pour critiquer, mais si tu avais mis des noms un peu plus parlant je pense qu'il comprendrait mieux



au boulot j'ai du refaire tout un programme, ça a été plus vite que d'adapter celui existant, c'était des fonctions portant des noms du genre (et c pas une blague ce nom, il y était vraiment) vrf_l_f_004_euro_counter_reset_3_9() avec bien entendu aucun commentaire (une cinquantaine de fonctions comme ça)

j'avais pas envie de passer deux semaines a voir quelle fonction fait quoi (en plus j'avais pas deux semaines pour faire le prog lol )



enfin, tout ça pour dire que donner des noms ayant un rapport avec le but de la fonction est bien plus pratique
Bigraph
Bigraph
Bigraph
Messages : 1 434
25.08.2004, 21:00 ouep en méme temps j'ai mis des commentaires ;) ( et une exemple de base pour chaque fonction)



pour ce qui est du HOKUTO_NO_POST il sert juste à récupérer les variables passé par un formulaire (aucun rapport avec la base de donnée)



et autrement t'a raisoon pour tout le reste (mise a part que je n'ai pas fait de fonction de modification) au pire tu veux pas faire de fonction UPDATE toi méme tu peux faire un effacage puis une insertion



Voila les descriptif des fonctions



Milleetuncoupdelagrandeourse -> permet de compter le nombre d'enregistrement de la derniére requéte



HOKUTO_AHUITRE ->

cette fonction permet de récupérer la valeur d'une

colonne par rapport a une requete prédéfini



HOKUTO_ABEURRE -> permet de vider une table



HOKUTO_PLANCHEAPAIN ->

permet de faire des insertions de données

(un exemple est fourni dans index.php)



HOKUTO_SUISSE->

permet de récupérer une valeur d'une colonne a partir

d'un identifiant

// ex

// TBL_HOKUTO

// id @ nom @

// 3 @ mars@

// HOKUTO_SUISSE("TBL_HOKUTO","nom","id",3) renvoie mars



HOKUTO_APAIN -> permet d'éffacer une ligne dans une base

(voir exemple)



HOKUTO_PETITCANIF -> permet de mettre des commentaires (utile pour le debbugage) ces commentaires ne s'affichent que si la variable $base['debug'] est mis à true.



remarque : toutes les fonctions de fonction.inc.php sont de la forme HOKUTO_ABCDE (il n'y a pas de _ dans ABCDE, autrement dit pas de HOKUTO_A_PAIN, mais HOKUTO_APAIN)
mumuri forum.ashots.org
mumuri
mumuri
Messages : 13 307

1   2   3 Page suivante
  • flood
  • allo ciné
  • astuces de jeux vidéos
  • dessin animé
  • smileys
  • séries télé
  • avis films
  • avis livres
  • bourse
  • anime
Tous droits réservés © 2008 . Webnetter Crédits des logiciels tiers.   - en partenariat avec flood.fr .