kurtspirit
Membre récent

Hors-Ligne
Sexe: 
Messages: 1

|
Bonjour, je suis à la recherche d'aide sur un script qu'un ami m'a entamé. Le but étant de trouver des correspondances sur une référence , étant dans le milieu de la pile et batterie. En fait pour faire simple, si je tape par exemple "sr43" il faudrait que ça me réponde "corres1,corres2...." et à l'inverse, si je tape une correspondance au hasard, il faudrait que ça me donne aussi les résultats.
Là est mon problème... Le script actuel est divisé en 2 champs de recherche, ref-->correspondance et inverse.. Le problème est que ce système est pas simple pour les employés...
Voici le script actuel :
<?php //variable base de donnée define("HOST","127.0.0.1"); define("USER","root"); define("PASSWORD",""); define("BDD","test");
//si envoi de formulaire if(isset($_GET['subnom']) OR isset($_GET['subref'])) { //connexion base de donnée if(! $mysqlserveurid = @mysql_connect (HOST,USER,PASSWORD)) echo "connexion à la base de donnée impossible"; elseif(! @mysql_select_db(BDD)) echo "base de donnée inconnue";
$outtablg=array(); //requete si on donne un nom if(isset($_GET['subnom'])) $requete = "SELECT * FROM pile WHERE reference = (SELECT reference FROM pile WHERE nom = '".$_GET["nom"]."')"; //requete si on donne une reference elseif(isset($_GET['subref'])) $requete = "SELECT * FROM pile WHERE reference = '".$_GET["ref"]."'";
$resultat = mysql_query($requete); if (@mysql_num_rows($resultat)>0) { while($tablg = @mysql_fetch_row($resultat)) $outtablg[] = $tablg; } @mysql_close($sqlid);
//affichage du resultat echo "<table border=1 style='width:400px;margin:40px auto;'>"; echo "<tr><td COLSPAN=2><b>RESULTAT</b></td></tr>"; if(sizeof($outtablg)>0) { foreach($outtablg as $value) echo "<tr><td>".$value[1]."</td><td>".$value[2]."</td></tr>"; } else echo "<tr><td COLSPAN=2>aucun resultat</td></tr>"; echo "</table>"; }
//formulaire echo "<table style='width:400px;margin:0 auto;font-family: Verdana, Geneva, sans-serif; font-style: italic;'>"; echo "<tr><td COLSPAN=2><b>Nom -> Reference</b></td></tr>"; echo "<form method='GET' action=''><tr><td>Entrer le nom : </td><td><input type='text' name='nom'><input type='submit' name='subnom' value='OK'/></td></tr></form>"; echo "<tr height='30px'><td COLSPAN=2></td></tr>"; echo "<tr><td COLSPAN=2><b>Reference -> Nom</b></td></tr>"; echo "<form mthod='POST' action=''><tr><td>Entrer la référence : </td><td><input type='text' name='ref'><input type='submit' name='subref' value='OK'/></td></tr></form>"; echo "</table>"; ?> |
|
et la table :
-- phpMyAdmin SQL Dump -- version 3.1.1 -- http://www.phpmyadmin.net -- -- Serveur: localhost -- Généré le : Jeu 03 Mai 2012 à 21:19 -- Version du serveur: 5.1.30 -- Version de PHP: 5.2.8
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
-- -- Base de données: `reference` --
-- --------------------------------------------------------
-- -- Structure de la table `pile` --
CREATE TABLE IF NOT EXISTS `pile` ( `id` int(11) NOT NULL AUTO_INCREMENT, `reference` varchar(255) NOT NULL, `nom` varchar(255) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=9 ;
-- -- Contenu de la table `pile` --
INSERT INTO `pile` (`id`, `reference`, `nom`) VALUES (1, 'pileA', 'A323PO'), (2, 'pileA', 'KA78PO'), (3, 'pileB', 'KRO45'), (4, 'pileB', 'LG300'), (5, 'pileB', 'JB007'), (6, 'pileC', '9999'), (7, 'pileC', '8888'), (8, 'pileC', '7777'); |
|
Donc le but final est d'avoir un seul champ de recherche et que si l'on tape n'importe quelle ref , ça nous donne les correspondances. Je pense qu'il faut créer d'autres tables afin d'éclaircir tout ça mais je nage un peu là j'avoue...
Si quelqu'un à une idée, je suis preneur 
Merci par avance!
Bonne journée. |