Probleme de submit ... plusieur submit sur la meme page ...

Signaler
Messages postés
45
Date d'inscription
lundi 6 février 2006
Statut
Membre
Dernière intervention
29 novembre 2007
-
Messages postés
147
Date d'inscription
mardi 15 novembre 2005
Statut
Membre
Dernière intervention
28 janvier 2008
-
Bonjour,

Voila c'est une page de recherche et je voudrai qu'on puisse faire une recherche sur le nom ou sur la description, sur le numero d'intervention, voir meme sur le nom du pc, mais voila je sais pas comment faire pour que ca marche.

Voila mon code si vous pouvez m'aider ce serai genial merci d'avance


PHP:,
----

<table><form method="post" >

----,
 N&#176; d'intervention  :
</td>
,
,
,
Nom PC  :,
,
,
,
----

Description Machine  :,
,

,
,

Nom Client  :,
,

,
----
,
----
,
</form>
 
     
    <? if ((isset($_POST['nom']))&amp;&amp;(isset($_POST['submit']))) { 
    recherche($_POST['nom']); 
    } 
     
    if ((isset($_POST['descr']))&amp;&amp;(isset($_POST['submit']))){ 
    recherche($_POST['descr']); 
    } 
     
    if ((isset($_POST['inter']))&amp;&amp;(isset($_POST['submit']))) { 
    recherche($_POST['inter']); 
    } 

    if ((isset($_POST['nompc']))&amp;&amp;(isset($_POST['submit']))) { 
    recherche($_POST['nompc']); 
    } 
     
     
     
    ?>
</TD></TR></TBODY></TABLE>

encore MERCI

8 réponses

Messages postés
147
Date d'inscription
mardi 15 novembre 2005
Statut
Membre
Dernière intervention
28 janvier 2008

Le plus simple, enfin a mon avis et pour les connaissance que j'ai,
c'est de ne faire qu'un formulaire, ensuite, tu regarde si tes champs
sont vides ou s'il contiennent un POST:



Par ex pour une recherche par numero, nom et age:



if(empty($num) and empty($nom) and empty($age)

{

echo"pas de post";

}

elseif(!empty($num) and empty($nom) and empty($age)

{

ta requete pour numero

}

elseif(!empty($num) and !empty($nom) and empty($age)

{

ta requete pour numero et nom

}et ainsi de suite selon le nimbre de champs que tu as, voila c'est
comme ca que moi je fais mes moteurs de recherche, aprés il doit
surement exister plus simple mais bon....voilivoilou.

.....++....*-*
Messages postés
45
Date d'inscription
lundi 6 février 2006
Statut
Membre
Dernière intervention
29 novembre 2007

le probleme quand je fais ca, la premiere fois que je vais sur ma page recherche, il me dit que toute les variable style $num, $nom, ...

<!--StartFragment -->Notice: Undefined index: nom in c:\documents and settings\stagiere\bureau\dit simplification programme\recherchearchivepc.php on line 77

j'ai essaye avec un :

if(isset($_POST['submit']))
{
...

Mais alors y fait plus aucune recherche ...

comment recuperer les valeurs ???
Messages postés
147
Date d'inscription
mardi 15 novembre 2005
Statut
Membre
Dernière intervention
28 janvier 2008

Pour que tu comprennes mieux je te passe une de mes sources:



<?

session_start();

include("connection.txt");

include("accueilhaut.php");



//On regarde s'il y a quelques choses de poster:

if(extract($_POST))

{

//On assigne des variables aux post envoyé:

$num_fichier = $_POST['num'];

$nom_fichier = $_POST['nom'];

$jours = $_POST['jours'];

$mois = $_POST['mois'];

$annee = $_POST['annee'];

$date = $jours."-".$mois."-".$annee;



if(empty($num_fichier) AND empty($nom_fichier) AND ($jours 0 OR $mois 0 OR $annee == 0))

{

echo("Vous
n'avez pas entré de critére de recherche, vous allez être redirigé
automatiquement.");


?><script
language="JavaScript">setTimeout("window.location='recherche.php'",5000);</script><?

}

elseif(($jours 0 OR $mois 0 OR $annee == 0) AND !empty($num_fichier) AND !empty($nom_fichier))

{

$sql = "SELECT
* FROM fichier, diffusion WHERE num_fichier = '$num_fichier' AND
nom_fichier LIKE '%$nom_fichier%' AND fichier.num_diffusion =
diffusion.num_diffusion";

$result = mysql_query($sql);



include("resultat.php");

}

elseif(($jours 0 OR $mois 0 OR $annee == 0) AND empty($num_fichier) AND !empty($nom_fichier))

{

$sql = "SELECT
* FROM fichier, diffusion WHERE nom_fichier LIKE '%$nom_fichier%' AND
fichier.num_diffusion = diffusion.num_diffusion";

$result = mysql_query($sql);

include("resultat.php");

}

elseif(($jours 0 OR $mois 0 OR $annee == 0) AND empty($nom_fichier) AND !empty($num_fichier))

{

$sql = "SELECT
* FROM fichier, diffusion WHERE nom_fichier = '$num_fichier' AND
fichier.num_diffusion = diffusion.num_diffusion";

$result = mysql_query($sql);



include("resultat.php");

}

elseif($jours != 0 AND $mois != 0 AND $annee != 0 AND empty($nom_fichier) AND empty($num_fichier))

{

$sql = "SELECT
* FROM fichier, diffusion WHERE date_fichier = '$date' AND
fichier.num_diffusion = diffusion.num_diffusion";

$result = mysql_query($sql);



include("resultat.php");

}

elseif($jours != 0 AND $mois != 0 AND $annee != 0 AND empty($nom_fichier) AND !empty($num_fichier))

{

$sql = "SELECT
* FROM fichier, diffusion WHERE date_fichier '$date' AND num_fichier
'$num_fichier' AND fichier.num_diffusion = diffusion.num_diffusion";

$result = mysql_query($sql);



include("resultat.php");

}

elseif($jours != 0 AND $mois != 0 AND $annee != 0 AND empty($num_fichier) AND !empty($nom_fichier))

{

$sql = "SELECT
* FROM fichier, diffusion WHERE date_fichier = '$date' AND nom_fichier
LIKE '%$nom_fichier%' AND fichier.num_diffusion =
diffusion.num_diffusion";

$result = mysql_query($sql);



include("resultat.php");

}

elseif($jours != 0 AND $mois != 0 AND $annee != 0 AND !empty($nom_fichier) AND !empty($num_fichier))

{

$sql = "SELECT
* FROM fichier, diffusion WHERE date_fichier '$date' AND num_fichier
'$num_fichier' AND nom_fichier LIKE '%$nom_fichier%' AND
fichier.num_diffusion = diffusion.num_diffusion";

$result = mysql_query($sql);



include("resultat.php");

}



}

//S'il y a rien d'envoyé on affiche le formulaire:

else

{?>

Vous pouvez effectuer une recherche de fichier, d'archive, de note par les critéres suivant:


- Numéro de fichier


- Nom de fichier


- Date du fichier




<form method='post' action='recherche.php'>

Entrer un numéro de fichier:,

,

----

Entrer un nom de fichier:,

,

----

Selectionner le
jour,

<select name='jours'
size='1'>

<option
value='0'></option>

<?php

$sql = "SELECT * FROM jours";

$result = mysql_query ($sql);

while ($result2 =
mysql_fetch_object ($result))

{

echo("<option
value='$result2->num_jour'>$result2->num_jour</option>");

}

?>

</select>,

----

Selectionner le
mois,

<select name='mois'
size='1'>

<option
value='0'></option>

<?php

$sql = "SELECT * FROM mois";

$result = mysql_query ($sql);

while ($result2 =
mysql_fetch_object ($result))

{

echo("<option
value='$result2->num_mois'>$result2->nom_mois</option>");

}

?>

</select>,

----

Selectionner
l'année,

<select name='annee'
size='1'>

<option
value='0'></option>

<?php

$sql = "SELECT * FROM annee";

$result = mysql_query ($sql);

while ($result2 =
mysql_fetch_object ($result))

{

echo("<option
value='$result2->num_annee'>$result2->num_annee</option>");

}

?>

</select>,

----






<?}

include("accueilbas.php");

?>



Bon bon bon, c'est assez simple et develloper a la va vite, mais
regarde la partie recherche...tu pourra adapter ca en fonction de ce
que tu souhaite...
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
5
moi je ferais une liste deroulante avec les criteres de recherche

<form>
<select name= 'critere'>
<option value='num_intervention'>N° intervention</option>
<option value='nom_pc'>Nom PC</option>
<option value='descip_machine'>Description machine</option>
<option value='nom_client'>Nom client</option>
</select>

et un champ correspondant à la valeur avec un seul bouton submit

</form>

tu reçois donc en post un critère et une valeur
et tu construis ta requête avec
(les values des options peuvent être directement les noms des champs de ta base de données)
auquel cas

$critere =$_POST['critere'];
$valeur_critere=$_POST['valeur_critere'];

$sql="select * from table where ".$critere."=' ".$valeur_critere." '";
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
5
ou

$sql="select * from table where ".$critere."='%".$valeur_critere."%' ";
Messages postés
147
Date d'inscription
mardi 15 novembre 2005
Statut
Membre
Dernière intervention
28 janvier 2008

Oui Sidf, mais s'il a besoin de plusieur critére de recherche ce n'est pas la meilleur solution?
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
5
ce n'est pas le cas puisqu'il y a autant de boutons submit que de criteres de recherche
donc c'est une recherche exclusive
Messages postés
147
Date d'inscription
mardi 15 novembre 2005
Statut
Membre
Dernière intervention
28 janvier 2008

Oui effectivement....mais bon, un moteur de recherche est peut être
plus operationnel s'il est multicritéres....enfin bon, ca depend aprés
du cahier des charges et des besoins de l'utilisateur.

Bon bon je fais un long discours alors que je ne suis que débutants loool, bref bonne journée a tous.... ++



*-*