Forum de discussion et d'aide au php
Vous n'êtes pas identifié.
|
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. |
||
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
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
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
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
Bonjour,
Me revoila avec un script en cours de résolution d'erreur ... ![]()
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 :
<?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
à 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
mysql_query({requête}) or die mysql_error();pai ailleurs, tu auras toujours une chaîne de caractère dans $_POST
Hors ligne
Je l'ai modifié comme ceci mais j'ai toujours une erreur :
<?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
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