Question résultat dans une requette SQL.

Question résultat dans une requette SQL. - PHP - Programmation

Marsh Posté le 10-01-2003 à 15:18:17    

J'ai fait une requette SQL qui m'affiche le résultat d'une recherche. Si il n'y a aucun résultat, il affiche par défaut "No rows found".
 
Comment faire pour personnaliser le message "No rows found" ?

Reply

Marsh Posté le 10-01-2003 à 15:18:17   

Reply

Marsh Posté le 10-01-2003 à 15:21:17    

[:miracle]  
Jamais eu ce message. Tu peux montrer ton bout de code qui fait la requête et qui l'affiche ?


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 10-01-2003 à 15:23:56    

En fait, j'intéroge une base de donnée Access avec ODBC !
 
Le code est :
 

Code :
  1. <?
  2. /*Connexion à une base de donnée Access*/
  3. $bd="ppo"; // identifiant dsn
  4. $user=""; // login     
  5. $password=""; // password   
  6. $cnx = odbc_connect( $bd , $user, $password );
  7. if( ! $cnx ) echo "Impossible de se connecter";
  8. $marque = $_POST['marque'];
  9. session_register(marque);
  10. /*Requêtes par rapport aux données saisies*/
  11. $requete = "SELECT [tbl_composant].[comp_num] AS N°,
  12.        [tbl_marque].[mar_nom] AS Marque,
  13.        [tbl_composant].[comp_modele] AS Modèle,
  14.        [tbl_composant].[comp_type] AS Type,
  15.        [tbl_composant].[comp_remarque] AS Remarque,
  16.        [tbl_composant].[comp_prix] AS Prix
  17. FROM tbl_marque INNER JOIN tbl_composant ON [tbl_marque].[mar_num]=[tbl_composant].[FK_comp_mar_num]
  18. WHERE '$marque' IN (SELECT mar_nom from tbl_marque)
  19.                 AND tbl_marque.mar_nom='$marque'
  20. GROUP BY [tbl_composant].[comp_num],
  21.          [tbl_marque].[mar_nom],
  22.          [tbl_composant].[comp_modele],
  23.          [tbl_composant].[comp_type],
  24.          [tbl_composant].[comp_remarque],
  25.          [tbl_composant].[comp_prix],
  26.          [tbl_composant].[comp_prix],
  27.          [tbl_marque].[mar_num];";
  28. /*odbc_prepare
  29. odbc_execute*/
  30. $resultat = odbc_exec($cnx, $requete);
  31. if ($resultat == false) {
  32. echo "Erreur";
  33. } //fin if  
  34. else{
  35. /* retoune tous les champs (fields) dans un tableau */
  36. odbc_result_all($resultat,"border='1' width=90% cellpadding='2' bordercolor='#0000000' " );
  37. } //fin else
  38. odbc_close( $cnx); // ferme la connection
  39. ?>

Reply

Marsh Posté le 10-01-2003 à 15:30:31    

Davjack a écrit :

En fait, j'intéroge une base de donnée Access avec ODBC !


 
Ah merde, j'connais pas ODBC :/ Bin sous MySQL, ce que je fais c'est regarder le nombre de résultats renvoyés par la requête. Et si c'est égal à 0, j'affiche le message d'erreur que je veux au lieu d'afficher le tableau. Y a p'têt moyen de faire pareil avec ODBC, nan ?


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 10-01-2003 à 15:31:42    

ben perso je ferai un
 
$resultat = @odbc_exec($cnx, $requete);  
pour cacher le msg d'erreur et tu peu faire un  
 
if (!$resultat)
{
 
 :(


Message édité par Profil supprimé le 10-01-2003 à 15:33:08
Reply

Marsh Posté le 10-01-2003 à 15:32:06    

Sûrement !!! Je vais voir si c'est possible !!! Merci !

Reply

Marsh Posté le 10-01-2003 à 16:22:04    

le obbc_exec reussit parfaitement mais le resultat est vide, teste le nombre de ligne avec odbc_num_rows($resultat)


Message édité par beleg le 10-01-2003 à 16:22:34
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed