Recherche php

Résolu/Fermé
jaydailfr Messages postés 121 Date d'inscription samedi 12 juillet 2008 Statut Membre Dernière intervention 24 juin 2009 - 18 juil. 2008 à 08:57
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 - 18 juil. 2008 à 11:48
Bonjour,

ci dessous , mon formulaire de recherche et la page ou devrais s 'afficher la requete , mais je n'obtiens rien , seulement une page blanche

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'];
?>
A voir également:

5 réponses

Hé bé ou qu'il est le tableau ?

<table>
...
</table>

et puis il me semble qu'il te manque la chaine de connexion pour te connecter à ta base, enfin dans mes souvenir il en faut plus mais là de tete me souviens plus ><
0
Ha bah vi alors là c pas tout pareil je te laisse trouver ton erreur : https://www.commentcamarche.net/contents/784-php-bases-de-donnees
0
jaydailfr Messages postés 121 Date d'inscription samedi 12 juillet 2008 Statut Membre Dernière intervention 24 juin 2009
18 juil. 2008 à 09:13
comme ca , peux tu m 'aider , je dois rechercher des nom dans une table mysql qui contient plus de 40000 entre
je ne suis pas programmeur ,stagiaire dans une boite

merci

<?php
//connection au serveur:
$cnx = mysql_connect( "localhost", "root", "" ) ;

//sélection de la base de données:
$db = mysql_select_db( "fuaj" ) ;

//exécution de la requête:
$requete = mysql_query( $sql, $cnx ) ;

$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'];

?>
0
jaydailfr Messages postés 121 Date d'inscription samedi 12 juillet 2008 Statut Membre Dernière intervention 24 juin 2009
18 juil. 2008 à 09:57
<?php
//connection au serveur:
$cnx = mysql_connect( "localhost", "root", "" ) ; --> ici je , 'ai pas mis de mot de passse , donc c 'est bon

//sélection de la base de données:
$db = mysql_select_db( "fuaj" ) ;

//exécution de la requête:
$requete = mysql_query( $sql, $cnx ) ;

$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'];

?>

et ca ne marche tjs pas
0
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
18 juil. 2008 à 10:04
Bonjour,

As-tu essayer d'exécuter ta requête SQL directement sur la base depuis ton interface d'administration BDD pour tester dans un premier temps si ta requête est bonne (normalement oui je ne vois pas d'erreur de syntaxe, mais peut être qu'elle ne retourne aucun résultat tout simplement)

Sinon, essaie de mettre des traces pour savoir ce qu'il se passe. Par exemple, affiche le nom que tu récupère via $_POST, car s'il est vide (mal réceptionné) ta requête ne retournera aucun élément, d'où le fait que rien ne s'affiche.

Aussi tu peux afficher le nombre de lignes retournées par la requête via :
echo "<br>Nb lignes : ".$mysql_num_rows($result);


Aussi, ce n'est pas obligatoire mais conseillé, pense bien à passer en second paramètre le pointeur sur ta connexion lorsque tu exécute ta requête :

$result = mysql_query($query,$requete) or die(mysql_error()); 

0
jaydailfr Messages postés 121 Date d'inscription samedi 12 juillet 2008 Statut Membre Dernière intervention 24 juin 2009 > kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013
18 juil. 2008 à 10:18
meme si le nom existe dans la base ca n 'affiche rien
0
oO > kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013
18 juil. 2008 à 10:37
question le fait qu'il stock sa connection dans une variable ça lui permet quand meme de se connecter ?

Bon bah si tu es stagiaire prend un peu de temps pour lire le tuto de comment ça marche niveau Php, ça te fera du bien (Copier/Coller n'est pas tricher donc n'ai pas peur) !
0
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857 > oO
18 juil. 2008 à 11:48
Oulala oui j'avais pas trop fait attention la première fois...

Qu'est ce que c'est que ça :
  //exécution de la requête:
    $requete = mysql_query( $sql, $cnx ) ;


Supprime moi vite ce bout de code :)

Le code correct doit être comme ci-dessous :
<?php
   //connection au serveur:
   $cnx = mysql_connect( "localhost", "root", "er" ) ;
  
   //sélection de la base de données: 
   mysql_select_db( "fuaj", $cnx ) ; 

   //récupération du nom
   $nom = mysql_real_escape_string($_POST['nom'],ENT_QUOTES); 
   //construction de la requète
   $query = "SELECT * FROM spip_fuaj_adherents WHERE nom='".$nom."'"; 
   //exécution de la requète
   $result = mysql_query($query, $cnx) or die(mysql_error()); 
   echo "<br>Nb lignes : ".$mysql_num_rows($result);
   //affichage du résultat
   $row = mysql_fetch_array($result); 
    echo "<br>".$row['nom'].' '.$row['prenom']; 
?> 


En gras les changements effectué, en plus de supprimer la ligne qui n'allait pas.
Et n'oublie pas de fermer la connexion à ta base de données une fois ton traitement exécuté.
0
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
18 juil. 2008 à 10:31
Est ce que tu as mis des traces, si oui ou ca ? Peux-tu redonner ton code modifié ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jaydailfr Messages postés 121 Date d'inscription samedi 12 juillet 2008 Statut Membre Dernière intervention 24 juin 2009
18 juil. 2008 à 10:33
  <?php
    //connection au serveur:
    $cnx = mysql_connect( "localhost", "root", "er" ) ;
  
//sélection de la base de données: 
$db = mysql_select_db( "fuaj" ) ; 

  //exécution de la requête:
    $requete = mysql_query( $sql, $cnx ) ;

$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']; 
echo "<br>Nb lignes : ".$mysql_num_rows($result);
?> 
0