Portail PHP

Forum de discussion et d'aide au php

Vous n'êtes pas identifié.

Annonce

Regles d'utilisation des forums : pensez à toujours les respecter si vous désirez obtenir des réponses rapides.
FAQ : pensez à toujours chercher dedans si la réponse à votre question est dedans.
Proposez vos news : si vous avez un evenement à annoncer
le chat : venez discuter de php.
 

#1 14-04-2008 09:55:09

Detax
Membre
Date d'inscription: 14-04-2008
Messages: 5

Script pour recherche PHP / SQL

Bonjour a tous !

Je voudrais mettre en place un formulaire de recherche qui irait prendre les résultats dans une base de donnée SQL.
Le but est simple et fonctionne comme un annuaire. Si on entre un nom dans le formulaire, la recherche aboutira sur un numéro et inversement, si on donne un numéro (publique) la recherche aboutira sur un numéro (équivalent mais privé). Je compte sur cette fonction de recherche pour éviter que la liste des noms et numéros ne soit visible dans sa totalité.
En plus, si c'est possible, j'aimerais l'intégrer à un forum phpbb, pour que seuls les membres enregistrés du forum puissent lancer des recherches.

Je n'ai absolument pas les compétences pour faire ca moi même, c'est pourquoi je me tourne vers vous en espérant que quelqu'un puisse, au mieux me le faire, ou au moins m'aider à mettre un tel script en place.

J'espère avoir été assez clair, mais si ce n'est pas le cas, n'hésitez pas à me demander des précisions ...


Merci d'avance !

Hors ligne

 

#2 14-04-2008 11:14:00

Asherah
Membre
Date d'inscription: 15-11-2007
Messages: 159
Site web

Re: Script pour recherche PHP / SQL

Si tu veut apprendre à le faire toi meme je te conseil ici: http://php.developpez.com/cours/

sinon, ici ont peut aider si tu as des questions ou un probleme avec un script, mais je doute que quelqu'un te fasse ton script comme ça... enfin, ça peut arriver.

Hors ligne

 

#3 15-04-2008 09:36:58

Detax
Membre
Date d'inscription: 14-04-2008
Messages: 5

Re: Script pour recherche PHP / SQL

Bonjour,

Merci pour ta réponse Asherah. J'ai encore un peu de mal avec tout ca mais j'avance dans mon projet.

En cherchant à droite à gauche, je suis tombé sur quelque chose qui ressemble énormément à ce que je veux faire à cette adresse. Je n'aurais qu'a changer quelques petits morceaux pour avoir à la place de Entreprise,TelDétaxé, TelSurtaxé : Nom TelPrivé TelPublique...


Comment puis je arriver à un tel résultat sans tout avoir à coder?
C'est possible de récupérer ce formulaire?

Hors ligne

 

#4 16-04-2008 11:37:48

Asherah
Membre
Date d'inscription: 15-11-2007
Messages: 159
Site web

Re: Script pour recherche PHP / SQL

Salut,

Pour recuperer le formulaire il te faut passer par PHP, donc tu es obligé d'avoir une recupération de formulaire. et sans tout coder, il y a des scripts qui existe mais un minimum de connaissance te seras necessaire, ne serait-ce que pour l'installer.

Hors ligne

 

#5 18-04-2008 05:41:01

Detax
Membre
Date d'inscription: 14-04-2008
Messages: 5

Re: Script pour recherche PHP / SQL

Bonjour,

Me revoila avec un script en cours de résolution d'erreur ... smile

Voila l'erreur obtenue :
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /.../search.php on line 21

Et voila le script :

Code:

<?php
error_reporting(E_ALL);

$connection = mysql_connect("localhost","login","pass");
if ( ! $connection )
die ("connection impossible");

$mabasededonnee="mabase";
mysql_select_db($mabasededonnee) or die ("pas de connection");

if (isset($_POST["value"]))
  {
    $value = mysql_real_escape_string($_POST["value"]);
   if (is_numeric($value))
      $sql = "SELECT * FROM $search WHERE num LIKE '".$value."'";
    else
      $sql = "SELECT * FROM $search WHERE name LIKE '%".$value."%'";
    $res = mysql_query($sql);
    echo "<tr><th>Nom</th><th>Numéro de téléphone</th><th>Numéro de téléphone 2</th></tr>";
    $sql = 0;
    while ($row = mysql_fetch_assoc($res) && $sql++)
      echo '<tr><td>' . $row['name'] . '</td><td>' . $row['num'] . '</td><td>' . $row['num2'] . '</td></tr>';
    if ($sql)
      echo "<tr><td colspan=2><i>Pas de résultats correspondant à votre recherche</i></td></tr>";
    echo "</table>";
  }

mysql_close($connection);

?>

Hors ligne

 

#6 18-04-2008 05:47:21

lolo3129
Membre
Lieu: Paris
Date d'inscription: 10-05-2005
Messages: 428
Site web

Re: Script pour recherche PHP / SQL

à mon avis, cela vient d'un problème dans ta requête SQL : $search n'est aps défini

tu peux vérifier ça en debug en utilisant

Code:

mysql_query({requête}) or die mysql_error();

pai ailleurs, tu auras toujours une chaîne de caractère dans $_POST

Hors ligne

 

#7 18-04-2008 08:13:21

Detax
Membre
Date d'inscription: 14-04-2008
Messages: 5

Re: Script pour recherche PHP / SQL

Je l'ai modifié comme ceci mais j'ai toujours une erreur :

Code:

<?php
error_reporting(E_ALL);

$connection = mysql_connect("localhost","login","mdp");
if ( ! $connection )
die ("Connection impossible"); 

$mabasededonnee="mabase";
mysql_select_db($mabasededonnee) or die ("Pas de connection"); 

if (isset($_POST["value"]))
  {
    $value = mysql_real_escape_string($_POST["value"]);
   if (is_numeric($value))
    $search = "search";
     $sql = "SELECT * FROM $search WHERE num LIKE '".$value."'";
    else
     $sql = "SELECT * FROM $search WHERE name LIKE '%".$value."%'";
    $res = mysql_query($sql);
    echo "<tr><th>Nom</th><th>Numéro de téléphone surtaxé</th><th>Numéro de téléphone détaxé</th></tr>";
    $sql = 0;
    while ($row = mysql_fetch_array($res) && $sql++)
      echo '<tr><td>' . $row['name'] . '</td><td>' . $row['num'] . '</td><td>' . $row['num2'] . '</td></tr>';
    if ($sql)
      echo "<tr><td colspan=2><i>Pas de résultats correspondant à votre recherche</i></td></tr>";
    echo "</table>";
  }

mysql_close($connection);

?>

Parse error: syntax error, unexpected T_ELSE in /.../search.php on line 17

Hors ligne

 

#8 21-04-2008 02:41:38

lolo3129
Membre
Lieu: Paris
Date d'inscription: 10-05-2005
Messages: 428
Site web

Re: Script pour recherche PHP / SQL

il faut définir $search avant le if

Hors ligne

 

#9 21-04-2008 07:02:36

Detax
Membre
Date d'inscription: 14-04-2008
Messages: 5

Re: Script pour recherche PHP / SQL

Ah oui exact, je n'ai plus d'erreur maintenant, merci.

Par contre, la recherche ne se fait pas. J'ai créé une entrée 'Test' dans la bdd mais lorsque je tape Test dans la recherche, rien n'apparait ...


Je ne comprend pas ou ca cloche.

Hors ligne