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 11-02-2008 15:26:42

lafafmentvotre
Membre
Date d'inscription: 11-02-2008
Messages: 2

Aide pour Formulaire de recherche pour débutant

Bonjour à Tous

Je suis nouveau en PHP/SQL et je voudrais réaliser un petit script de recherche affichage d'une base sql en php.

En cherchant sur le web et en modifiant le script, voilà ce que j'ai fait.

Hors cela ne fonctionne pas.

Je voudrais avoir un champ de recherche qui m'affiche les résultats ensuite dans un tableau.

Voici le script mais j'ai du oublier des choses :

################
<html>
<style type="text/css">
<!--
.Style1 {
color: #000000;
text-align: center;
background-color: #FFFF99;
}
.Style2 {
color: #000000;
text-align: center;
}
-->
</style>
<body>
<br>
<div align="center">
<input type="text" name="search" size='35' id="search">
<input type="submit" value="Recherche">
<br></div>
<table width="80%" border="1" align="center">
</div>
<br><br>
<TR>
<TD class="Style1">Prise</TD>
<TD class="Style1">Nourrice</TD>
<TD class="Style1">Port</TD>
<TD class="Style1">Switch</TD>
<TD class="Style1">Bureau</TD>
<TD class="Style1">Type</TD>
</TR>
<?php
$host = 'myhost';
$user = 'myuser';
$pass = 'mypass';
$db = 'mydb';
$search = $_POST['search'];

// connection à la DB
mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());

// requête
//$select = 'SELECT num_prise,nourrice, port, switch,bureau,type FROM general';
//$select = 'SELECT * FROM general WHERE num_prise WHERE num_prise=$_POST['search';
$result = mysql_query("SELECT * FROM general WHERE num_prise=$search");
$total = mysql_num_rows($result);

// si on a récupéré un résultat on l'affiche.
if($total) {
    while($row = mysql_fetch_array($result)) {
        echo '<tr>';
        echo '<TD class="Style2">'.$row["num_prise"].'</td>';
        echo '<TD class="Style2">'.$row["nourrice"].'</td>';
        echo '<TD class="Style2">'.$row["port"].'</td>';
        echo '<TD class="Style2">'.$row["switch"].'</td>';
        echo '<TD class="Style2">'.$row["bureau"].'</td>';
        echo '<TD class="Style2">'.$row["type"].'</td>';
        echo '</tr>'."\n";
    }
    echo '</table>'."\n";
    // fin du tableau.
}
else echo 'Pas d\'enregistrements dans cette table...';
// on libère le résultat
mysql_free_result($result);
?>
</body>
</html>
####################

Merci d'avance pour votre aide

Dernière modification par lafafmentvotre (12-02-2008 12:54:49)

Hors ligne

 

#2 11-02-2008 16:19:43

Shiva
Moderateur
Lieu: BONNEUIL SUR MARNE
Date d'inscription: 15-11-2005
Messages: 299
Site web

Re: Aide pour Formulaire de recherche pour débutant

Salut,
Donne le message d'erreur si il y en a un, sinon ta quequête SQL devrait être modifiée comme ceci :

Code:

$select = 'SELECT * FROM general WHERE num_prise LIKE "%'.$search.'%"';

Hors ligne

 

#3 12-02-2008 06:41:27

lafafmentvotre
Membre
Date d'inscription: 11-02-2008
Messages: 2

Re: Aide pour Formulaire de recherche pour débutant

Salut et merci pour ta réponse.

Je n'ai aucun message d'erreur.
Par contre avec ta solution, toute ma table est affichée sans que je lui demande rien.

Je voudrais un champ de recherche qui cherche dans ma table si une valeur existe et :

- si oui, alors le tableau est affiché avec juste cette valeur et les autres qui lui correspondent (sur un ou plusieurs lignes en fonction de combien de fois la valeur a été trouvée).
- si non, alors message "Pas d'entrée dans cette table....."

Je cherche quelqu'un qui pourrait m'aider et m'expliquer en même temps afin de pouvoir y arriver seul par la suite.

Merci d'avance à ceux qui peuvent m'aider

Hors ligne