issue with comparison between php and select mysql -


i've been looking answer problems few hours, seems don't @ right place, or i'm first have twisted programing style.

i have in php code, input inside, put every informations in database. after that, have form, others input allows me make research in db.

here troubles comes.

if want find in aprticular, have fill inputs, "name", "nickname", "computer name", , finds well, "select * db name=name , nickname=nickname etc...".

but if want find every computers 1 person have, put name, , want shows me every row contain name.

in other words, want mysql query ignore variables not completed in form, set them null default, have feeling mysql think value, , compare data in db.

if fill 1 input, shows nothing, have complete fields..

code incoming, don't rude, i'm pretty beegining... , sorry english. :(

in advance, thank help.

<html> <head> <link rel="stylesheet" href="index.css" type="text/css" media="screen" />    <title>titre</title> </head> <body> <?php  //initializing null, in case nothing typed in fields  if(!empty($_post['techname'])) $technom = $_post['techname']; else $technom = null;  if(!empty($_post['technickname'])) $techprenom = $_post['technickname']; else $techprenom = null;  if(!empty($_post['username'])) $usernom = $_post['username']; else $usernom = null;  if(!empty($_post['usernickname'])) $userprenom = $_post['usernickname']; else $userprenom = null;  if(!empty($_post['assettag'])) $tag = $_post['assettag']; else $tag = null;  if(!empty($_post['serial'])) $serial = $_post['serial']; else $serial = null;  if(!empty($_post['cpuname'])) $cpuname = $_post['cpuname']; else $cpuname = null;  if(!empty($_post['modele'])) $modele = $_post['modele']; else $modele = null;  if(isset($_post['fixe'])) $type = $_post['fixe']; else $type = null;  if(isset($_post['portable'])) $type1 = $_post['portable']; else $type1 = null;  if(!empty($_post['date'])) $date = $_post['date']; else $date = null; ?>  <h1>visualisation de poste utilisateur</h1> <ul id=menu> <table> <tr><td><a href="index.html">accueil</a></td></tr> <tr><td><a href="saisie.html">saisie de matériel entrant</a></td></tr> <tr><td><a href="visualisation.html">visualisation du matériel</a></td></tr> <tr><td><a href="visuglobale.php">visualisation du stock</a></td></tr> <tr><td><a href="suppression.html">suppression d'élément</a></td></tr> <tr><td><a href="ajout_user.html">ajout d'utilisateur</a></td></tr> <tr><td><a href="visu_users.php">visualisation des utilisateurs</a></td></tr>  </table> </ul>  <form method="post" action=""> <input type=hidden value='0' name=portable> <input type=hidden value='0' name=fixe> <table> <tr><td colspan=4 align=center><b>technicien</b></td></tr> <tr><td>prénom :</td><td><input type=text size=20 name=technickname value=<?php echo $techprenom ?>></td><td>nom :</td><td><input type=text size=20 name=techname value=<?php echo $technom?>></td></tr> <tr><td colspan=4 align=center><b>utilisateur</b></td></tr> <tr><td>prénom :</td><td><input type=text size=20 name=usernickname value=<?php echo $userprenom?>></td><td>nom :</td><td><input type=text size=20 name=username value=<?php echo $usernom?>></td></tr> <tr><td>tag :</td><td><input type=text size=20 name=assettag value=<?php echo $tag?>></td><td>n° de série :</td><td><input type=text size=20 name=serial value=<?php echo $serial?>></td></tr> <tr><td>nom de machine :</td><td><input type=text size=20 name=cpuname value=<?php echo $cpuname ?>></td><td>modèle :</td><td><input type=text size=20 name=modele value=<?php echo $modele ?>></td></tr> <tr><td><label for="1">portable</label></td><td><input type=checkbox name=portable checked="true" value=<?php $type1?>></td> <td><label for="2">fixe</label></td><td><input type=checkbox name=fixe value=<?php $type ?>></td></tr> <tr><td>date d'installation :</td><td><input type=text size=20 name=date placeholder="jj-mm-aaaa" value=<?php echo $date ?>></td></tr> <tr><td colspan=2 ><input type=submit value=envoyer></td><td><input type=hidden name=afficher value=ok></td></tr>  </table>   <?php  //connecting db try {     $bdd = new pdo('mysql:host=localhost;dbname=base_test', 'root', '', array(pdo::attr_errmode => pdo::errmode_exception)); } catch (exception $e) {         die('erreur : ' . $e->getmessage()); }  //some test didn't me  /*$req = $bdd->prepare('select * table_utilisateurs usernom=:usernom                         , userprenom=:userprenom'); $req->execute(array('usernom' => $usernom,                     'userprenom' => $userprenom));*/  $req = $bdd->prepare('select * table_utilisateurs usernom=:usernom                          , userprenom=:userprenom                         , technom=:technom                         , techprenom=:techprenom                         , assettag=:assettag                         , serialnumber=:serialnumber                         , modele=:modele                         , type=:type                         , dateinstall=:dateinstall                         , name=:name');   $req->execute(array('usernom' => $usernom,                     'userprenom' => $userprenom,                     'technom' => $technom,                     'techprenom' => $techprenom,                     'assettag' => $tag,                     'serialnumber' => $serial,                     'modele' => $modele,                     'type' => $type,                     'dateinstall' => $date,                     'name' => $cpuname));      while($donnees = $req->fetch()){     echo $donnees['usernom'], " ", $donnees['userprenom'], " ", $donnees['technom'], " ", $donnees['techprenom'], " ", $donnees['assettag'], " ", $donnees['serialnumber'], " ",                              $donnees['modele'], " ", $donnees['type'], " ", $donnees['dateinstall'], " ", $donnees['name'];                              echo '<br/>';     };       $req->closecursor();     /*$donnees = $req->fetch();     echo $donnees['usernom'], " ", $donnees['userprenom'], " ", $donnees['technom'], " ", $donnees['techprenom'], " ", $donnees['assettag'], " ", $donnees['serialnumber'], " ",                              $donnees['modele'], " ", $donnees['type'], " ", $donnees['dateinstall'], " ", $donnees['name'];*/    ?>   </body> </html> 

as @david jones suggest. can build custom condition according inputs entered user in search field.

$where_cond="";  if($_post['techname']!="") { $where_cond.="technamecolumn=".$_post['techname']; }   if($_post['username']!="") { $where_cond.="usernamecolumn=".$_post['username']; } 

same other write query

$q="select technanmcolumn,usernamecolumn tablename ".$where_cond; 

this query include values entered user search in condition. execute query , result. suggest use switch case instead of if conditions.


Comments

Popular posts from this blog

java - Oracle EBS .ClassNotFoundException: oracle.apps.fnd.formsClient.FormsLauncher.class ERROR -

c# - how to use buttonedit in devexpress gridcontrol -

nvd3.js - angularjs-nvd3-directives setting color in legend as well as in chart elements -