Moteur recherche demande aide
ptiville1
Messages postés
30
Statut
Membre
-
ptiville1 Messages postés 30 Statut Membre -
ptiville1 Messages postés 30 Statut Membre -
Bonjour, Je debute en php et je cherche a modifier ce code qui al air pa mal.
J ai une table nom , j ai remplacer * FROM tutoriel par * FROM nom
J ai bien creer connect.php pour me conecter a ma base mais ca ne marche pas.
J utilise localhost esque le probleme viendrai de la.
je voudrais qu il y ai q une zonede recherche.
MERCI BEAUCOUP POUR VOTRE AIDE .
<h1>Recherche de personnes inscrites</h1>
<?php
/// paramètres de connection à la base de données
require("connect.php");
$tous = mysql_query("SELECT * FROM tutoriel");
$nb_tous = mysql_num_rows($tous);
?>
Ce moteur vous permet de rechercher parmi les <? echo "<font color='#008080'><b>$nb_tous</b></font>"?> entrées de la table tutoriel.<br><br>
<form method="post" action="<?echo $PHP_SELF?>">
<input type="text" name="f_nom" size="20"> Saisissez un ou plusieurs noms séparés par un espace.<br>
<input type="text" name="f_prenom" size="20"> Saisissez un ou plusieurs prénoms séparés par un espace.<br><br>
<input type=radio name=f_etou value="AND" checked>voir les fiches répondant à tous les critères demandés<br>
<input type=radio name=f_etou value="OR">voir les fiches comportant au moins un de ces éléments<br><br>
<input type="submit" value="Rechercher">
</form><br><br>
<?
$etou=$f_etou;
//s'il y a eu saisie :
if($f_nom!="" OR $f_prenom!=""){
//traitement des données du formulaire
//construction du critère de sélection suivant les entrées fournies
if ($f_nom!="" ){ //!= signifie "différent de"
$noms = split(" ",$f_nom);// on transforme la variable en tableau (array)
$nb_noms = count($noms);// nb d'éléments dans le tableau
$critere=" nom like '%$noms[0]%'";// $noms[0]= premier élément du tableau
$z=1;
while($z<$nb_noms){// on boucle pour fabriquer le critère avec tous les elts du tableau
$critere.=" $etou nom like '%$noms[$z]%'";
$z++;}
if ($f_prenom!=""){
$prenoms = split(" ",$f_prenom);
$nb_prenoms = count($prenoms);
$z=0;
while($z<$nb_prenoms){
$critere.=" $etou prenom like '%$prenoms[$z]%'";
$z++;}
}//fin du if prénom pas vide
}//fin du if nom pas vide
else { $prenoms = split(" ",$f_prenom);
$nb_prenoms = count($prenoms);
$critere=" prenom like '%$prenoms[0]%'";
$z=1;
while($z<$nb_prenoms){
$critere.=" $etou prenom like '%$prenoms[$z]%'";
$z++;}
}// fin du else = si nom est vide
// NOMBRE D'ENREGISTREMENTS REPONDANT A LA REQUETE sur tutoriel
$requete = mysql_query("select * from tutoriel where $critere");
$nbT=mysql_num_rows($requete);
// DEFINITION DU MESSAGE A AFFICHER S'IL NY A PAS DE RESULTATS
if ($nbT==0) {echo "<div align='center'><font color='#993366'> Désolé, aucune fiche ne
correspond à tous les critères indiqués. Vérifiez l'orthographe, diminuez le nombre de critères et relancez la recherche.</font></div>";}
else {// AFFICHAGE DES RESULTATS PAGE PAR PAGE
if ($nbT>1) {$s= "s";} // utilisé pour éviter une faute d'orthographe dans la ligne en dessous...
echo "<Il y a <b>$nbT</b> réponse$s<br><br> ";
// on refait la requete mais en précisant les fiches à renvoyer
$limit=3; // vous pouvez faire varier ce nombre, voire même l'intégrer dans votre formulaire pour que ce soient vos visiteurs qui choisissent
$debut=$pge*$limit;
$requete2 = mysql_query("select * from tutoriel where $critere limit $debut, $limit");
while($row = mysql_fetch_array($requete2)){
$nom=stripslashes($row[nom]);
$prenom=$row[prenom];
$mail=$row[mail];
echo " $prenom $nom : $mail<br>";
}// fin du while (tant qu'il y a une ligne dans le tableau de résultats renvoyé par $requete2)
$nbpages=ceil($nbT/$limit); // ceil = plafond : pour arrondir à la valeur supérieure
// affichage de la première page si nécessaire (si nb total de pages supérieur à 5)
if($nbpages>3 and $pge>2){
echo "<a href=\"?pge=0&f_nom=$f_nom&f_prenom=$f_prenom&f_etou=$f_etou\"><b>Début</b></a> ";
}
// AFFICHAGE DU LIEN PRECEDENT SI BESOIN EST (LA PREMIERE PAGES EST 0)
if ($pge>0){
$precedent=$pge-1;
echo "<a href=\"?pge=$precedent&f_nom=$f_nom&f_prenom=$f_prenom&f_etou=$f_etou\">
<b><fontcolor='#993366'><</font></b></a> ";
}
// AFFICHAGE DES NUMEROS DE PAGE
$i=0;$j=1;
if($nbT>$limit){
while($i<($nbpages)){ // pour limiter l'affichage du nombre de pages restantes
if ($i>$pge-3 and $i<$pge+3){
if($i!=$pge)
{echo "<a href=\"?pge=$i&f_nom=$f_nom&f_prenom=$f_prenom&f_etou=$f_etou\">$j</a> ";}
else {echo "<b>$j</b> ";}//met en gras le N° de la page en cours
}//fin du if i>pge....
$i++;$j++;}//fin du while i<nbpages
} //fin du if nbT>limit
// AFFICHAGE DU LIEN SUIVANT SI BESOIN EST
if($pge<$nbpages-1){
$suivant=$pge+1;
echo "<a href=\"?pge=$suivant&f_nom=$f_nom&f_prenom=$f_prenom&f_etou=$f_etou\"><b>></b></a> ";
}
// affichage de la dernière page si nécessaire
if($nbpages>3 and $pge<$nbpages-3){
$fin=$nbpages-1;
echo "<a href=\"?pge=$fin&f_nom=$f_nom&f_prenom=$f_prenom&f_etou=$f_etou\"><b>fin</b> ($nbpages)</a>";
}
}// fin du else affichage des résultats.
}// fin du si il y a eu saisie
else { // s'il n'y a pas eu saisie
echo "indiquez vos critères de choix";}
?>
</body>
</html>
J ai une table nom , j ai remplacer * FROM tutoriel par * FROM nom
J ai bien creer connect.php pour me conecter a ma base mais ca ne marche pas.
J utilise localhost esque le probleme viendrai de la.
je voudrais qu il y ai q une zonede recherche.
MERCI BEAUCOUP POUR VOTRE AIDE .
<h1>Recherche de personnes inscrites</h1>
<?php
/// paramètres de connection à la base de données
require("connect.php");
$tous = mysql_query("SELECT * FROM tutoriel");
$nb_tous = mysql_num_rows($tous);
?>
Ce moteur vous permet de rechercher parmi les <? echo "<font color='#008080'><b>$nb_tous</b></font>"?> entrées de la table tutoriel.<br><br>
<form method="post" action="<?echo $PHP_SELF?>">
<input type="text" name="f_nom" size="20"> Saisissez un ou plusieurs noms séparés par un espace.<br>
<input type="text" name="f_prenom" size="20"> Saisissez un ou plusieurs prénoms séparés par un espace.<br><br>
<input type=radio name=f_etou value="AND" checked>voir les fiches répondant à tous les critères demandés<br>
<input type=radio name=f_etou value="OR">voir les fiches comportant au moins un de ces éléments<br><br>
<input type="submit" value="Rechercher">
</form><br><br>
<?
$etou=$f_etou;
//s'il y a eu saisie :
if($f_nom!="" OR $f_prenom!=""){
//traitement des données du formulaire
//construction du critère de sélection suivant les entrées fournies
if ($f_nom!="" ){ //!= signifie "différent de"
$noms = split(" ",$f_nom);// on transforme la variable en tableau (array)
$nb_noms = count($noms);// nb d'éléments dans le tableau
$critere=" nom like '%$noms[0]%'";// $noms[0]= premier élément du tableau
$z=1;
while($z<$nb_noms){// on boucle pour fabriquer le critère avec tous les elts du tableau
$critere.=" $etou nom like '%$noms[$z]%'";
$z++;}
if ($f_prenom!=""){
$prenoms = split(" ",$f_prenom);
$nb_prenoms = count($prenoms);
$z=0;
while($z<$nb_prenoms){
$critere.=" $etou prenom like '%$prenoms[$z]%'";
$z++;}
}//fin du if prénom pas vide
}//fin du if nom pas vide
else { $prenoms = split(" ",$f_prenom);
$nb_prenoms = count($prenoms);
$critere=" prenom like '%$prenoms[0]%'";
$z=1;
while($z<$nb_prenoms){
$critere.=" $etou prenom like '%$prenoms[$z]%'";
$z++;}
}// fin du else = si nom est vide
// NOMBRE D'ENREGISTREMENTS REPONDANT A LA REQUETE sur tutoriel
$requete = mysql_query("select * from tutoriel where $critere");
$nbT=mysql_num_rows($requete);
// DEFINITION DU MESSAGE A AFFICHER S'IL NY A PAS DE RESULTATS
if ($nbT==0) {echo "<div align='center'><font color='#993366'> Désolé, aucune fiche ne
correspond à tous les critères indiqués. Vérifiez l'orthographe, diminuez le nombre de critères et relancez la recherche.</font></div>";}
else {// AFFICHAGE DES RESULTATS PAGE PAR PAGE
if ($nbT>1) {$s= "s";} // utilisé pour éviter une faute d'orthographe dans la ligne en dessous...
echo "<Il y a <b>$nbT</b> réponse$s<br><br> ";
// on refait la requete mais en précisant les fiches à renvoyer
$limit=3; // vous pouvez faire varier ce nombre, voire même l'intégrer dans votre formulaire pour que ce soient vos visiteurs qui choisissent
$debut=$pge*$limit;
$requete2 = mysql_query("select * from tutoriel where $critere limit $debut, $limit");
while($row = mysql_fetch_array($requete2)){
$nom=stripslashes($row[nom]);
$prenom=$row[prenom];
$mail=$row[mail];
echo " $prenom $nom : $mail<br>";
}// fin du while (tant qu'il y a une ligne dans le tableau de résultats renvoyé par $requete2)
$nbpages=ceil($nbT/$limit); // ceil = plafond : pour arrondir à la valeur supérieure
// affichage de la première page si nécessaire (si nb total de pages supérieur à 5)
if($nbpages>3 and $pge>2){
echo "<a href=\"?pge=0&f_nom=$f_nom&f_prenom=$f_prenom&f_etou=$f_etou\"><b>Début</b></a> ";
}
// AFFICHAGE DU LIEN PRECEDENT SI BESOIN EST (LA PREMIERE PAGES EST 0)
if ($pge>0){
$precedent=$pge-1;
echo "<a href=\"?pge=$precedent&f_nom=$f_nom&f_prenom=$f_prenom&f_etou=$f_etou\">
<b><fontcolor='#993366'><</font></b></a> ";
}
// AFFICHAGE DES NUMEROS DE PAGE
$i=0;$j=1;
if($nbT>$limit){
while($i<($nbpages)){ // pour limiter l'affichage du nombre de pages restantes
if ($i>$pge-3 and $i<$pge+3){
if($i!=$pge)
{echo "<a href=\"?pge=$i&f_nom=$f_nom&f_prenom=$f_prenom&f_etou=$f_etou\">$j</a> ";}
else {echo "<b>$j</b> ";}//met en gras le N° de la page en cours
}//fin du if i>pge....
$i++;$j++;}//fin du while i<nbpages
} //fin du if nbT>limit
// AFFICHAGE DU LIEN SUIVANT SI BESOIN EST
if($pge<$nbpages-1){
$suivant=$pge+1;
echo "<a href=\"?pge=$suivant&f_nom=$f_nom&f_prenom=$f_prenom&f_etou=$f_etou\"><b>></b></a> ";
}
// affichage de la dernière page si nécessaire
if($nbpages>3 and $pge<$nbpages-3){
$fin=$nbpages-1;
echo "<a href=\"?pge=$fin&f_nom=$f_nom&f_prenom=$f_prenom&f_etou=$f_etou\"><b>fin</b> ($nbpages)</a>";
}
}// fin du else affichage des résultats.
}// fin du si il y a eu saisie
else { // s'il n'y a pas eu saisie
echo "indiquez vos critères de choix";}
?>
</body>
</html>
A voir également:
- Moteur recherche demande aide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Google moteur de recherche page d'accueil - Guide
- Copernic moteur de recherche - Télécharger - Navigateurs
- Recherche de pairs utorrent ✓ - Forum Téléchargement
- Rechercher ou entrer l'adresse mm - recherche google - Guide
17 réponses
merci bissdebrazza pour ton aide.
voici mon code connect.php
le proboleme c' est que la page refuse de s ouvrir quand je lance une recherche
<?php
// information pour la connection à le DB
$host = 'localhost';
$user = 'root';
$pass = '';
$db = 'mabase';// nom de votre base de donnée
//------- on affiche la date et l'heure -------------
$now_Y = date("Y");
$now_m = date("m");
$now_d = date("d");
$now_H = date("H");
$now_i = date("i");
$now_s = date("s");
$date = "$now_d-$now_m-$now_Y à $now_H:$now_i:$now_s";
// connection à la DB
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());
?>
voici mon code connect.php
le proboleme c' est que la page refuse de s ouvrir quand je lance une recherche
<?php
// information pour la connection à le DB
$host = 'localhost';
$user = 'root';
$pass = '';
$db = 'mabase';// nom de votre base de donnée
//------- on affiche la date et l'heure -------------
$now_Y = date("Y");
$now_m = date("m");
$now_d = date("d");
$now_H = date("H");
$now_i = date("i");
$now_s = date("s");
$date = "$now_d-$now_m-$now_Y à $now_H:$now_i:$now_s";
// connection à la DB
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());
?>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
voici le conteu connect.php
<?php
// information pour la connection à le DB
$host = 'localhost';
$user = 'root';
$pass = '';
$db = 'mabase';// nom de votre base de donnée
//------- on affiche la date et l'heure -------------
$now_Y = date("Y");
$now_m = date("m");
$now_d = date("d");
$now_H = date("H");
$now_i = date("i");
$now_s = date("s");
$date = "$now_d-$now_m-$now_Y à $now_H:$now_i:$now_s";
// connection à la DB
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());
?>
<?php
// information pour la connection à le DB
$host = 'localhost';
$user = 'root';
$pass = '';
$db = 'mabase';// nom de votre base de donnée
//------- on affiche la date et l'heure -------------
$now_Y = date("Y");
$now_m = date("m");
$now_d = date("d");
$now_H = date("H");
$now_i = date("i");
$now_s = date("s");
$date = "$now_d-$now_m-$now_Y à $now_H:$now_i:$now_s";
// connection à la DB
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());
?>
voila!
je vois que tu n'as pas donné le nom de ta base de donné (à moins que ta base porte le nom de "mabase")
met ici le nom que tu utilise pour ta base de données :$db = 'mabase';// nom de votre base de donnée
je vois que tu n'as pas donné le nom de ta base de donné (à moins que ta base porte le nom de "mabase")
met ici le nom que tu utilise pour ta base de données :$db = 'mabase';// nom de votre base de donnée
salut!
essai ca:
<?php
// information pour la connection à le DB
$host = 'localhost';
$user = 'root';
$pass = '';
$db = 'mabase';// nom de votre base de donnée
//------- on affiche la date et l'heure -------------
$now_Y = date("Y");
$now_m = date("m");
$now_d = date("d");
$now_H = date("H");
$now_i = date("i");
$now_s = date("s");
$date = "$now_d-$now_m-$now_Y à $now_H:$now_i:$now_s";
// connection à la DB
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db,$link) or die ('Erreur :'.mysql_error());
?>
cordialement!!
essai ca:
<?php
// information pour la connection à le DB
$host = 'localhost';
$user = 'root';
$pass = '';
$db = 'mabase';// nom de votre base de donnée
//------- on affiche la date et l'heure -------------
$now_Y = date("Y");
$now_m = date("m");
$now_d = date("d");
$now_H = date("H");
$now_i = date("i");
$now_s = date("s");
$date = "$now_d-$now_m-$now_Y à $now_H:$now_i:$now_s";
// connection à la DB
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db,$link) or die ('Erreur :'.mysql_error());
?>
cordialement!!
l'erreur 403 veut dire que tu n'a pas le droit d'acceder à une page.donc essai de voir si tes identifiants sont corrects (host pass et autres).
il affiche toujours la même erreur??
il affiche toujours la même erreur??
tu travaille sur ta machine locale??
essai d'enlever l'affichage de la date dans le fichier de connexion
essai d'enlever l'affichage de la date dans le fichier de connexion
oui je travaille locale
j ai enlever l'affichage de la date et toujours pareil.
j utilise le fichier connexion pour d autre formulaire et il me pose pa de probleme.
j ai enlever l'affichage de la date et toujours pareil.
j utilise le fichier connexion pour d autre formulaire et il me pose pa de probleme.
alors la le problème viens de ton formulaire puisque tu me dis que ca passe sur les autres formes.
essai de refaire le formulaire dès le début et avant de lancer supprime tous les fichiers temporaires (internet explorer et firefox) et tu relances.si cela persiste,je te conseille de te mettre à genoux devant ton pc et de prier.
On sait jamais!!!
En tout cas je ne vois pas d'erreur!!!
essai de refaire le formulaire dès le début et avant de lancer supprime tous les fichiers temporaires (internet explorer et firefox) et tu relances.si cela persiste,je te conseille de te mettre à genoux devant ton pc et de prier.
On sait jamais!!!
En tout cas je ne vois pas d'erreur!!!