Php
Résolu
jaydailfr
Messages postés
121
Date d'inscription
Statut
Membre
Dernière intervention
-
X-Fan Messages postés 805 Date d'inscription Statut Membre Dernière intervention -
X-Fan Messages postés 805 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Mon script marche tres bien pour afficher toute les donnnées de ma table mysql
maintenant je voudrais pouvoir afficher les données d'une personne sur la page via un moteur de recherche
pouvez vous nm 'aider
Mon script marche tres bien pour afficher toute les donnnées de ma table mysql
maintenant je voudrais pouvoir afficher les données d'une personne sur la page via un moteur de recherche
pouvez vous nm 'aider
<?php //connection au serveur: $cnx = mysql_connect( "localhost", "root", "" ) ; //sélection de la base de données: $db = mysql_select_db( "fuaj" ) ; //requête SQL: $sql = "SELECT * FROM spip_fuaj_adherents ORDER BY nom" ; //exécution de la requête: $requete = mysql_query( $sql, $cnx ) ; //affichage des données: echo "<table align='center'><tr><td>Nom</td><td>Prénom</td><td>Email</td></tr>"; while( $result = mysql_fetch_object( $requete ) ) { echo("<tr><td>".$result->nom."</td><td> ".$result->prenom."</td><td>".$result->email."</td><td><a href=\"modification2.php?id_adherent=".$result->;id_adherent."\">modifier</a></td></tr>\n") ; } ?> <?php
A voir également:
- Php
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
11 réponses
juste pour info , j 'ai creer une page sans aucune donné que j 'ai mise en ligne et j 'obtiens le code suivant
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1"></HEAD>
<BODY></BODY></HTML>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1"></HEAD>
<BODY></BODY></HTML>
Bonjour, si je comprends bien, tu veux un formulaire te permettant de trouver une personne dans ta base de donnée?
Si c'est ça, c'est pas compliqué. Sur une première page, tu fait un formulaire avec un champ texte avec un
pour mettant le pseudo par exemple.
Ensuite, sur une deuxième page tu récupère cette valeur:
Tu continu en affichant les valeurs correspondant à cet valeur:
login correspondant à la colonne de ta base où sont les pseudo des membres et #### étant ta table.
Voici de quoi te mettre sur la piste.
Cordialement
Si c'est ça, c'est pas compliqué. Sur une première page, tu fait un formulaire avec un champ texte avec un
<input name="recherche" type="text" />
pour mettant le pseudo par exemple.
Ensuite, sur une deuxième page tu récupère cette valeur:
$membre = $_POST['recherche'];
Tu continu en affichant les valeurs correspondant à cet valeur:
$search = "SELECT * FROM #### WHERE login = '$membre'";
login correspondant à la colonne de ta base où sont les pseudo des membres et #### étant ta table.
Voici de quoi te mettre sur la piste.
Cordialement
mais ca ne marche pas
<?php
//connection au serveur:
$cnx = mysql_connect( "localhost", "root", "" ) ;
//sélection de la base de données:
$db = mysql_select_db( "fuaj" ) ;
//requête SQL:
$sql = "SELECT *
FROM
ORDER BY nom" ;
$search = "SELECT * FROM spip_fuaj_adherents WHERE nom = '$membre'";
//exécution de la requête:
$membre = $_POST['recherche'];
//affichage des données:
echo "<table align='center'><tr><td>Nom</td><td>Prénom</td><td>Email</td></tr>";
while( $result = mysql_fetch_object( $requete ) )
{
echo("<tr><td>".$result->nom."</td><td> ".$result->prenom."</td><td>".$result->email."</td><td><a href=\"modification2.php?id_adherent=".$result->id_adherent."\">modifier</a></td></tr>\n") ;
}
?>
<?php
ce script m'affiche tjs le premier eregistrement de la base , quelques sois le nom que je tape
<form method="POST" action="modificationsearch.php"> <td colspan=2>Nom</td> <input type="text" name="nom" size="20"> <input type="submit" value="rechercher"> </form> <?php //connection au serveur: $cnx = mysql_connect( "localhost", "AdminSql", "nLgX62kmAT" ) ; //sélection de la base de données: $db = mysql_select_db( "fuaj" ) ; //requête SQL: $sql = "SELECT * FROM spip_fuaj_adherents" ; //exécution de la requête: $requete = mysql_query( $sql, $cnx ) ; //affichage des données: echo "<table align='center'><tr><td>Nom</td><td>Prénom</td><td>Email</td></tr>"; if( $result = mysql_fetch_object( $requete ) ) { echo("<tr><td>".$result->nom."</td><td> ".$result->prenom."</td><td>".$result->email."</td><td><a href=\"modification2.php?id_adherent=".$result->id_adherent."\">modifier</a></td></tr>\n") ; } ?> <?php
Tu peux carrément mettre $sql = "SELECT * FROM spip_fuaj_adherents WHERE pseudo='$_POST['pseudo']'" lol. Mais il faut pas oublier de le "sanitize" avant pour empêcher les injections MYSQL.
Genre:
$_POST['pseudo'] = mysql_real_escape_string($_POST['pseudo'],ENT_QUOTES);
$sql = "SELECT * FROM spip_fuaj_adherents WHERE pseudo='$_POST['pseudo']'";
Genre:
$_POST['pseudo'] = mysql_real_escape_string($_POST['pseudo'],ENT_QUOTES);
$sql = "SELECT * FROM spip_fuaj_adherents WHERE pseudo='$_POST['pseudo']'";
je n 'obtiens que le nom , pas le reste des champs
<?php //connection au serveur: $cnx = mysql_connect( "localhost", "root", "" ) ; //sélection de la base de données: $db = mysql_select_db( "fuaj" ) ; $nom = $_POST['nom']; //requête SQL: $sql = $sql = "SELECT * FROM spip_fuaj_adherents WHERE nom='$nom'"; //exécution de la requête: $requete = mysql_query( $sql, $cnx ) ; $query = "SELECT * FROM spip_fuaj_adherents WHERE nom='".$_POST['nom']."'"; $result = mysql_query($query) or die(mysql_error()); $row = mysql_fetch_array($result); echo $row['nom']; ?> <?php
Ben ouai mais bon, t'es pas fort fort non plus sur la logique toi. PTDR. Une indication ;)
echo $row['ICI JE METS N'IMPORTE QUEL NOM DE CHAMP DE MA TABLE!!!!!!!!!!!!!!!!!!!!!'];
Et change ta ligne:
$nom = $_POST['nom'];
Pour
$nom = mysql_real_escape_string($_POST['nom'],ENT_QUOTES);
Sinon, bonjour les failles.
echo $row['ICI JE METS N'IMPORTE QUEL NOM DE CHAMP DE MA TABLE!!!!!!!!!!!!!!!!!!!!!'];
Et change ta ligne:
$nom = $_POST['nom'];
Pour
$nom = mysql_real_escape_string($_POST['nom'],ENT_QUOTES);
Sinon, bonjour les failles.
voila tout mon code , mais j'obtiens juste le nom sur ma page ??
<form method="POST" action="modificationsearch.php"> <td colspan=2>Nom</td> <input type="text" name="nom" size="20"> <input type="submit" value="rechercher"> </form> <?php //connection au serveur: $cnx = mysql_connect( "localhost", "root", "" ) ; //sélection de la base de données: $db = mysql_select_db( "fuaj" ) ; $nom = mysql_real_escape_string($_POST['nom'],ENT_QUOTES); //requête SQL: $sql = $sql = "SELECT * FROM spip_fuaj_adherents WHERE nom='$nom'"; //exécution de la requête: $requete = mysql_query( $sql, $cnx ) ; $query = "SELECT * FROM spip_fuaj_adherents WHERE nom='".$_POST['nom']."'"; $result = mysql_query($query) or die(mysql_error()); $row = mysql_fetch_array($result); echo $row['nom'].$row['prenom']; ?> <?php
<?php
//connection au serveur:
$cnx = mysql_connect( "localhost", "root", "" ) ;
//sélection de la base de données:
$db = mysql_select_db( "fuaj" ) ;
$nom = mysql_real_escape_string($_POST['nom'],ENT_QUOTES);
$query = "SELECT * FROM spip_fuaj_adherents WHERE nom='".$nom."'";
$result = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_array($result);
echo $row['nom'].' '.$row['prenom'];
?>
//connection au serveur:
$cnx = mysql_connect( "localhost", "root", "" ) ;
//sélection de la base de données:
$db = mysql_select_db( "fuaj" ) ;
$nom = mysql_real_escape_string($_POST['nom'],ENT_QUOTES);
$query = "SELECT * FROM spip_fuaj_adherents WHERE nom='".$nom."'";
$result = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_array($result);
echo $row['nom'].' '.$row['prenom'];
?>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
c 'est le cas
accueil.php
accueil.php
<form method="POST" action="modificationsearch.php"> <td colspan=2>Nom</td> <input type="text" name="nom" size="20"> <input type="submit" value="nom"> </form> modificationsearch.php <?php //connection au serveur: $cnx = mysql_connect( "localhost", "root", "" ) ; //sélection de la base de données: $db = mysql_select_db( "fuaj" ) ; $nom = mysql_real_escape_string($_POST['nom'],ENT_QUOTES); $query = "SELECT * FROM spip_fuaj_adherents WHERE nom='".$nom."'"; $result = mysql_query($query) or die(mysql_error()); $row = mysql_fetch_array($result); echo $row['nom'].' '.$row['prenom']; ?>
Un petit conseil:
plutot que de faire un WHERE champ= 'truc', utilise WHERE champ like '% truc %'.
Ca évite à l'utilisateur de taper le pseudo exact pour le trouver:
Dans l'exemple que je viens de donner, si tu as un champ qui contient 'trucs' ou encore 'gnatrucgnagna', la première méthode ne le trouvera pas, alors que la deuxième oui :)
Regarde aussi si ta base SQL est case sensitive (a priori je ne pense pas).
Bonne journée.
plutot que de faire un WHERE champ= 'truc', utilise WHERE champ like '% truc %'.
Ca évite à l'utilisateur de taper le pseudo exact pour le trouver:
Dans l'exemple que je viens de donner, si tu as un champ qui contient 'trucs' ou encore 'gnatrucgnagna', la première méthode ne le trouvera pas, alors que la deuxième oui :)
Regarde aussi si ta base SQL est case sensitive (a priori je ne pense pas).
Bonne journée.
j 'ai change mon code
message Connexion a la base impossible
d
message Connexion a la base impossible
d
<?php $host = "localhost"; $user = "xxxx"; $password = "xxx"; $bdd = "spip_fuaj_adherents"; mysql_connect($host, $user, $password) or die ("Connexion au serveur impossible"); // on choisit la bonne base mysql_select_db($bdd) or die ("Connexion a la base impossible"); echo " <html> <head> <title>Résultat de la recherche</title> </head> <body>"; if (($Mot == "")||($Mot == "%")) { // Si aucun mot clé n'a été saisi, // le script demande à l'utilisateur // de bien vouloir préciser un mot clé echo " Veuillez entrer un mot clé s'il vous plaît! <p>"; } else { // On selectionne les enregistrements contenant le mot clé // dans les keywords ou le titre $query = "SELECT spip_fuaj_adherents FROM search WHERE nom LIKE \"%$Mot%\" OR prenom LIKE \"%$Mot%\" "; $result = mysql_query($query); $row = mysql_fetch_row($result); $Nombre = $row[0]; // Si aucun enregistrement n'est retourné, // on affiche un message adéquat if ($Nombre == "0") { echo " <h2>Aucun résultat ne correspond à votre recherche</h2> <p> "; } // Sinon, on affiche le nombre d'enregistrements correspondant // et les résultats eux-mêmes else { $query = "SELECT spip_fuaj_adherents FROM search WHERE nom LIKE \"%$Mot%\" OR prenom LIKE \"%$Mot%\" ORDER by prenom ASC"; $result = mysql_query($query); // Si un seul enregistrement est trouvé, on affiche un message au singulier if ($Nombre == "1") { echo " <a name=\"#resultat\"><h2>Résultat: Un article trouvé</h2></a> <p>"; } // Dans le cas contraire le message est au pluriel... else { echo " <a name=\"#resultat\"><h2>Résultat: $Nombre articles trouvés</h2></a> <p>"; } while($row = mysql_fetch_row($result)) { echo " <p>\n <b>$row[2]</b>\n <br><a href=\"../$row[0]\">Visualiser l'article</a>\n <p>\n "; } } } // on ferme la base mysql_close(); ?> </body> </html>
Qu'est-ce que tu as changé? -.- je ne vais pas tout relire.
ça ne peut pas venir des requêtes que tu viens de modifier.
Retrouve ton erreur, on ne va pas tout faire pour toi: tu n'apprendras rien si à chaque fois que tu as une erreur tu viens demander d'où elle vient.
En tout cas l'erreur
ça ne peut pas venir des requêtes que tu viens de modifier.
Retrouve ton erreur, on ne va pas tout faire pour toi: tu n'apprendras rien si à chaque fois que tu as une erreur tu viens demander d'où elle vient.
En tout cas l'erreur
Connexion a la base impossiblene vient pas d'une mauvaise requête.
page formulaire
<form method="post" action="modificationid.php">
Recherche:<br>
<input type="text" name="Nom" size="15">
<input type="submit" value="tmp" alt="Lancer la recherche!">
</form>
page affichage de la reqeute
<html>
<head>
<title></title>
</head>
<body>
<?php
mysql_connect( "localhost", "root", "" ) ;
mysql_select_db( "fuaj" ) ;
if (isset ($_POST['Nom'])) $tmp = $_POST['Nom'];
$sql = "SELECT * FROM spip_fuaj_adherents WHERE nom='$tmp'";
$requete = mysql_query( $sql);
echo "<table align='center'><tr><td>Nom</td><td>Prénom</td><td>Email</td></tr>";
$result = mysql_fetch_object( $requete )
echo "$requete";
echo("<tr><td>".$result->nom."</td><td> ".$result->prenom."</td><td>".$result->email."</td><td><a href=\"modification2.php?id_adherent=".$result->id_adherent."\">modifier</a></td></tr>\n") ;
mysql_close();
?>
</body>
</html>
<form method="post" action="modificationid.php">
Recherche:<br>
<input type="text" name="Nom" size="15">
<input type="submit" value="tmp" alt="Lancer la recherche!">
</form>
page affichage de la reqeute
<html>
<head>
<title></title>
</head>
<body>
<?php
mysql_connect( "localhost", "root", "" ) ;
mysql_select_db( "fuaj" ) ;
if (isset ($_POST['Nom'])) $tmp = $_POST['Nom'];
$sql = "SELECT * FROM spip_fuaj_adherents WHERE nom='$tmp'";
$requete = mysql_query( $sql);
echo "<table align='center'><tr><td>Nom</td><td>Prénom</td><td>Email</td></tr>";
$result = mysql_fetch_object( $requete )
echo "$requete";
echo("<tr><td>".$result->nom."</td><td> ".$result->prenom."</td><td>".$result->email."</td><td><a href=\"modification2.php?id_adherent=".$result->id_adherent."\">modifier</a></td></tr>\n") ;
mysql_close();
?>
</body>
</html>
$sql = "SELECT * FROM spip_fuaj_adherents WHERE nom='".$tmp."'";
change déjà la requête pour ça
change déjà la requête pour ça
si pourtant ,
mon formulaire accueill.php avec le code suivant
<form method="post" action="modificationid.php">
Recherche:<br>
<input type="text" name="Nom" size="15">
<input type="submit" value="tmp" alt="Lancer la recherche!">
</form>
la pade modificationid.php pour l 'affichage de la requete
<html>
<head>
<title>modification de données en PHP :: partie 1</title>
</head>
<body>
<?php
mysql_connect( "localhost", "", "" ) ;
mysql_select_db( "fuaj" ) ;
if (isset ($_POST['Nom'])) $tmp = $_POST['Nom'];
$sql = "SELECT * FROM spip_fuaj_adherents WHERE nom='".$tmp."'";
$requete = mysql_query( $sql);
echo "<table align='center'><tr><td>Nom</td><td>Prénom</td><td>Email</td></tr>";
$result = mysql_fetch_object( $requete )
echo "$requete";
echo("<tr><td>".$result->nom."</td><td> ".$result->prenom."</td><td>".$result->email."</td><td><a href=\"modification2.php?id_adherent=".$result->id_adherent."\">modifier</a></td></tr>\n") ;
mysql_close();
?>
<?php
</body>
</html>
mon formulaire accueill.php avec le code suivant
<form method="post" action="modificationid.php">
Recherche:<br>
<input type="text" name="Nom" size="15">
<input type="submit" value="tmp" alt="Lancer la recherche!">
</form>
la pade modificationid.php pour l 'affichage de la requete
<html>
<head>
<title>modification de données en PHP :: partie 1</title>
</head>
<body>
<?php
mysql_connect( "localhost", "", "" ) ;
mysql_select_db( "fuaj" ) ;
if (isset ($_POST['Nom'])) $tmp = $_POST['Nom'];
$sql = "SELECT * FROM spip_fuaj_adherents WHERE nom='".$tmp."'";
$requete = mysql_query( $sql);
echo "<table align='center'><tr><td>Nom</td><td>Prénom</td><td>Email</td></tr>";
$result = mysql_fetch_object( $requete )
echo "$requete";
echo("<tr><td>".$result->nom."</td><td> ".$result->prenom."</td><td>".$result->email."</td><td><a href=\"modification2.php?id_adherent=".$result->id_adherent."\">modifier</a></td></tr>\n") ;
mysql_close();
?>
<?php
</body>
</html>
Ça reste que c'est pas la bonne page parce que même si ton online ajoute des balises, tes balises titre, par exemple, ne sont plus là.
EDIT: ajoute aussi un echo "salut"; sur ta page d'accueil voir si ça marche. Je suis carrément en train de me demander si t'as un hébergeur avec un serveur apache toi. O_O
EDIT: ajoute aussi un echo "salut"; sur ta page d'accueil voir si ça marche. Je suis carrément en train de me demander si t'as un hébergeur avec un serveur apache toi. O_O
echo "salut"; sur la page accueil fonctionne , mais pas sur la page modificatioid.php