Deux critères de recherche

Résolu
caramels1 Messages postés 2 Statut Membre -  
caramels1 Messages postés 2 Statut Membre -
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

1 réponse

  1. caramels1 Messages postés 2 Statut Membre
     
    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