Deux critères de recherche

Résolu/Fermé
caramels1 Messages postés 2 Date d'inscription vendredi 23 mars 2012 Statut Membre Dernière intervention 26 mars 2012 - 23 mars 2012 à 08:37
caramels1 Messages postés 2 Date d'inscription vendredi 23 mars 2012 Statut Membre Dernière intervention 26 mars 2012 - 26 mars 2012 à 15:37
Bonjour,




J'ai un formulaire avec deux critères de recherche obligatoire
date de début date de fin et liste de machine multiple. si je fais un formulaire avec liste de machine multiple ça marche ou un avec date de début date de fin mais les deux ensembles
je ne trouve pas la formule magique pour que cela fonctionne.

les dates sont générées avec un calendar ou l'on choisie la date.
j'utilise du PHP

Est-ce que quelqu'un peux m'aider ?

Merci
A voir également:

1 réponse

caramels1 Messages postés 2 Date d'inscription vendredi 23 mars 2012 Statut Membre Dernière intervention 26 mars 2012
Modifié par caramels1 le 26/03/2012 à 16:05
voila mon code

Bonjour,
j'ai un souci avec un formulaire avec deux critères de recherche un multi sélection et l'autre choix de dates à l'aide de calendar.
le résultat doit données la liste des interventions entre deux dates sélections pour les machines sélectionnées.
le formulaire semble fonctionné mais aucune ligne de résultat ne ressorte !!!!

[code]

<html>

<!-- import the calendar script -->
<script type="text/javascript" src="calendar.js"></script>

<!-- import the language module -->
<script type="text/javascript" src="calendar-fr.js"></script>

<!-- other languages might be available in the lang directory; please check
your distribution archive. -->

<!-- helper script that uses the calendar -->
<script type="text/javascript">


function JsCal() {


this.selected = function(cal, date) {
cal.sel.value = date; // just update the date in the input field.
if (cal.dateClicked) {
cal.callCloseHandler(); // this calls "onClose" (see above)
}
}


this.closeHandler = function(cal) {
cal.hide(); // hide the calendar
}

this.showCalendar = function(id, format, showsTime, showsOtherMonths) {
var el = document.getElementById(id);
// first-time call, create the calendar.
var cal = new Calendar(1, null, this.selected, this.closeHandler);
// uncomment the following line to hide the week numbers
cal.weekNumbers = true;
if (typeof showsTime == "string") {
cal.showsTime = true;
cal.time24 = (showsTime == "24");
}
if (showsOtherMonths) {
cal.showsOtherMonths = true;
}
this._dynarch_popupCalendar = cal; // remember it in the global var
cal.setRange(1900, 2070); // min/max year allowed.
cal.create();
cal.setDateFormat(format); // set the specified date format
cal.parseDate(el.value); // try to parse the text in field
cal.sel = el; // inform it what input field we use

// the reference element that we pass to showAtElement is the button that
// triggers the calendar. In this example we align the calendar bottom-right
// to the button.
cal.showAtElement(el, "B1"); // show the calendar
return false;
}

}

</script>


</head>
<script>
toto = new JsCal();
</script>





<?php
// appel du fichier contenant les paramètres de connexion au SGBD
include_once "connexion.php";
$res_req = pg_query($dbconnect, "SELECT machine FROM machine");

if ( $row = pg_fetch_assoc ( $res_req ) ) {
?><form name="form1" method="POST" action=""><?php
echo "<select name=formdata[] multiple size=10>" ;
do {
extract ( $row );
echo "<option value=\"$machine\">$machine</option>" ;
}
while( $row = pg_fetch_assoc ( $res_req ) );
echo "</select>" ;
echo "<input type=submit>" ;
?>

<b>Debut :</b> <input type="text" name="date1" method= "POST" id="sel1" size="10">
<a href='#' id='sel1' onClick="return toto.showCalendar('sel1', '%Y-%m-%d', false,true);"><img src="img.gif"> </a>

<b>Fin :</b> <input type="text" name="date2" id="sel2" method= "POST" size="10">
<a href='#' id='sel2' onClick="return toto.showCalendar('sel2', '%Y-%m-%d', false,true);"> <img src="img.gif"> </a>



</form>
<?php
}
if (isset($_POST["date1"])) $date1=$_POST["date1"];

if (isset($_POST["date2"])) $date2=$_POST["date2"];
echo "$date1";
echo "$date2";
?>
<div style="text-align: center;"><big><span
style="font-weight: bold;">Liste des Maintenances</span></big><br>
</div>
<br>
<br>
<table >
<th>Machine</th>
<th>Debut</th>
<th>Fin</th>

<?php


if (isset($_POST["formdata"])&& !empty($_POST["formdata"])) {

// Show data
foreach( $_POST['formdata'] AS $data ) {

echo "$data";

$list_values = implode(',',"$data");

echo "$list_values" ;


$requete=pg_query($dbconnect,"select machine, deb, fin
FROM evt where machine in ('$data') and to_char(deb,'YYYY-MM-DD') >= '$date1' and to_char(fin ,'YYYY-MM-DD') <= '$date2' order by deb order by deb, fin");

while($row = pg_fetch_row($requete)){
$machine = $row[0];
$deb = $row[1];
$fin = $row[2];


echo "
<tr>
<td> $machine </td>
<td> $deb </td>
<td> $fin </td>
</tr>";

}
}
}
pg_close();
?>
</table>

</html>
/code

<html>

<!-- import the calendar script -->
<script type="text/javascript" src="calendar.js"></script>

<!-- import the language module -->
<script type="text/javascript" src="calendar-fr.js"></script>

<!-- other languages might be available in the lang directory; please check
your distribution archive. -->

<!-- helper script that uses the calendar -->
<script type="text/javascript">


function JsCal() {


this.selected = function(cal, date) {
cal.sel.value = date; // just update the date in the input field.
if (cal.dateClicked) {
cal.callCloseHandler(); // this calls "onClose" (see above)
}
}


this.closeHandler = function(cal) {
cal.hide(); // hide the calendar
}

this.showCalendar = function(id, format, showsTime, showsOtherMonths) {
var el = document.getElementById(id);
// first-time call, create the calendar.
var cal = new Calendar(1, null, this.selected, this.closeHandler);
// uncomment the following line to hide the week numbers
cal.weekNumbers = true;
if (typeof showsTime == "string") {
cal.showsTime = true;
cal.time24 = (showsTime == "24");
}
if (showsOtherMonths) {
cal.showsOtherMonths = true;
}
this._dynarch_popupCalendar = cal; // remember it in the global var
cal.setRange(1900, 2070); // min/max year allowed.
cal.create();
cal.setDateFormat(format); // set the specified date format
cal.parseDate(el.value); // try to parse the text in field
cal.sel = el; // inform it what input field we use

// the reference element that we pass to showAtElement is the button that
// triggers the calendar. In this example we align the calendar bottom-right
// to the button.
cal.showAtElement(el, "B1"); // show the calendar
return false;
}

}

</script>


</head>
<script>
toto = new JsCal();
</script>





<?php
// appel du fichier contenant les paramètres de connexion au SGBD
include_once "connexion.php";
$res_req = pg_query($dbconnect, "SELECT machine FROM machine");

if ( $row = pg_fetch_assoc ( $res_req ) ) {
?><form name="form1" method="POST" action=""><?php
echo "<select name=formdata[] multiple size=10>" ;
do {
extract ( $row );
echo "<option value=\"$machine\">$machine</option>" ;
}
while( $row = pg_fetch_assoc ( $res_req ) );
echo "</select>" ;
echo "<input type=submit>" ;
?>

<b>Debut :</b> <input type="text" name="date1" method= "POST" id="sel1" size="10">
<a href='#' id='sel1' onClick="return toto.showCalendar('sel1', '%Y-%m-%d', false,true);"><img src="img.gif"> </a>

<b>Fin :</b> <input type="text" name="date2" id="sel2" method= "POST" size="10">
<a href='#' id='sel2' onClick="return toto.showCalendar('sel2', '%Y-%m-%d', false,true);"> <img src="img.gif"> </a>



</form>
<?php
}
if (isset($_POST["date1"])) $date1=$_POST["date1"];

if (isset($_POST["date2"])) $date2=$_POST["date2"];
echo "$date1";
echo "$date2";
?>
<div style="text-align: center;"><big><span
style="font-weight: bold;">Liste des Maintenances</span></big><br>
</div>
<br>
<br>
<table >
<th>Machine</th>
<th>Debut</th>
<th>Fin</th>

<?php


if (isset($_POST["formdata"])&& !empty($_POST["formdata"])) {

// Show data
foreach( $_POST['formdata'] AS $data ) {

echo "$data";

$list_values = implode(',',"$data");

echo "$list_values" ;


$requete=pg_query($dbconnect,"select machine, deb, fin
FROM evt where machine in ('$data') and to_char(deb,'YYYY-MM-DD') >= '$date1' and to_char(fin ,'YYYY-MM-DD') <= '$date2' order by deb order by deb, fin");

while($row = pg_fetch_row($requete)){
$machine = $row[0];
$deb = $row[1];
$fin = $row[2];


echo "
<tr>
<td> $machine </td>
<td> $deb </td>
<td> $fin </td>
</tr>";

}
}
}
pg_close();
?>
</table>

</html>
Bonjour,
j'ai un souci avec un formulaire avec deux critères de recherche un multi sélection et l'autre choix de dates à l'aide de calendar.
le résultat doit données la liste des interventions entre deux dates sélections pour les machines sélectionnées.
le formulaire semble fonctionné mais aucune ligne de résultat ne ressorte !!!!

[code]

<html>

<!-- import the calendar script -->
<script type="text/javascript" src="calendar.js"></script>

<!-- import the language module -->
<script type="text/javascript" src="calendar-fr.js"></script>

<!-- other languages might be available in the lang directory; please check
your distribution archive. -->

<!-- helper script that uses the calendar -->
<script type="text/javascript">


function JsCal() {


this.selected = function(cal, date) {
cal.sel.value = date; // just update the date in the input field.
if (cal.dateClicked) {
cal.callCloseHandler(); // this calls "onClose" (see above)
}
}


this.closeHandler = function(cal) {
cal.hide(); // hide the calendar
}

this.showCalendar = function(id, format, showsTime, showsOtherMonths) {
var el = document.getElementById(id);
// first-time call, create the calendar.
var cal = new Calendar(1, null, this.selected, this.closeHandler);
// uncomment the following line to hide the week numbers
cal.weekNumbers = true;
if (typeof showsTime == "string") {
cal.showsTime = true;
cal.time24 = (showsTime == "24");
}
if (showsOtherMonths) {
cal.showsOtherMonths = true;
}
this._dynarch_popupCalendar = cal; // remember it in the global var
cal.setRange(1900, 2070); // min/max year allowed.
cal.create();
cal.setDateFormat(format); // set the specified date format
cal.parseDate(el.value); // try to parse the text in field
cal.sel = el; // inform it what input field we use

// the reference element that we pass to showAtElement is the button that
// triggers the calendar. In this example we align the calendar bottom-right
// to the button.
cal.showAtElement(el, "B1"); // show the calendar
return false;
}

}

</script>


</head>
<script>
toto = new JsCal();
</script>





<?php
// appel du fichier contenant les paramètres de connexion au SGBD
include_once "connexion.php";
$res_req = pg_query($dbconnect, "SELECT machine FROM machine");

if ( $row = pg_fetch_assoc ( $res_req ) ) {
?><form name="form1" method="POST" action=""><?php
echo "<select name=formdata[] multiple size=10>" ;
do {
extract ( $row );
echo "<option value=\"$machine\">$machine</option>" ;
}
while( $row = pg_fetch_assoc ( $res_req ) );
echo "</select>" ;
echo "<input type=submit>" ;
?>

<b>Debut :</b> <input type="text" name="date1" method= "POST" id="sel1" size="10">
<a href='#' id='sel1' onClick="return toto.showCalendar('sel1', '%Y-%m-%d', false,true);"><img src="img.gif"> </a>

<b>Fin :</b> <input type="text" name="date2" id="sel2" method= "POST" size="10">
<a href='#' id='sel2' onClick="return toto.showCalendar('sel2', '%Y-%m-%d', false,true);"> <img src="img.gif"> </a>



</form>
<?php
}
if (isset($_POST["date1"])) $date1=$_POST["date1"];

if (isset($_POST["date2"])) $date2=$_POST["date2"];
echo "$date1";
echo "$date2";
?>
<div style="text-align: center;"><big><span
style="font-weight: bold;">Liste des Maintenances</span></big><br>
</div>
<br>
<br>
<table >
<th>Machine</th>
<th>Debut</th>
<th>Fin</th>

<?php


if (isset($_POST["formdata"])&& !empty($_POST["formdata"])) {

// Show data
foreach( $_POST['formdata'] AS $data ) {

echo "$data";

$list_values = implode(',',"$data");

echo "$list_values" ;


$requete=pg_query($dbconnect,"select machine, deb, fin
FROM evt where machine in ('$data') and to_char(deb,'YYYY-MM-DD') >= '$date1' and to_char(fin ,'YYYY-MM-DD') <= '$date2' order by deb order by deb, fin");

while($row = pg_fetch_row($requete)){
$machine = $row[0];
$deb = $row[1];
$fin = $row[2];


echo "
<tr>
<td> $machine </td>
<td> $deb </td>
<td> $fin </td>
</tr>";

}
}
}
pg_close();
?>
</table>

</html>

/code
0