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 à 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
Salut,
Donne le message d'erreur si il y en a un, sinon ta quequête SQL devrait être modifiée comme ceci :
$select = 'SELECT * FROM general WHERE num_prise LIKE "%'.$search.'%"';
Hors ligne
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