j'utilise la methode $_POST en ajax de query pour mes fonctionnalités de recherches sur un tableau.
Mon problème c est que je n'arrive pas à charger initialement la liste de toute les données dans mon tableau au premier chargement. Je souhaiterait que toutes les infos s'affiche dans mon tableau avant que l'utilisateur fasse des recherches.
Pouvez vous m'eclairer??
Ci dessous mes 2 fichier
fichier de traitement avec mes requête vers ma bdd
<?php
if(isset($_POST)) {
include_once("_secure3.php");
$today = date("Y-m-d");
var_dump($_POST);
if (!empty($_POST) && $_POST != "ras") {
// $req = 'SELECT * FROM mould WHERE';
$req = 'SELECT mould.id_mould AS idm,type,part_number,tool_number,place,status,cycle_quantity,last_use,customer_code,storage_date,alert15m,alert18m,MAX(first_alert_mail_date) AS maxfirst,MAX(last_email_alert_date) AS maxlast,MAX(email_invoice_date) AS maxemail_invoice,tool_number FROM mould LEFT JOIN invoice ON mould.id_mould=invoice.id_mould WHERE';
foreach ($_POST as $keyliste => $liste) {
if (is_array($liste) && count($liste) > 0)
{
foreach ($liste as $val) {
$verif = trim($val);
if ($verif != "ras") {
$req .= ' ( ' . $keyliste . ' LIKE '. "'%".$verif."%') ";
// $req .= ' ' . $keyliste . '="' . $verif . '"';
$req .= " AND";
} else if ($verif == "ras") {
$req .= "";
}else {
$req .= 'SELECT mould.id_mould AS idm,type,part_number,tool_number,place,status,cycle_quantity,last_use,customer_code,storage_date,alert15m,alert18m,MAX(first_alert_mail_date) AS maxfirst,MAX(last_email_alert_date) AS maxlast,MAX(email_invoice_date) AS maxemail_invoice,tool_number FROM mould LEFT JOIN invoice ON mould.id_mould=invoice.id_mould WHERE mould.actif=0 AND alert_process_inv=0 GROUP BY mould.id_mould ORDER BY tool_number ASC';
}
}
}
// else
// {
//// $req .= ' mould.actif=0 AND alert_process_inv=0 GROUP BY mould.id_mould ORDER BY tool_number ASC';
// }
}
// $req .= 'AND';
$req = rtrim($req, ' AND');
$req .= ' AND alert_process_inv=0 GROUP BY mould.id_mould ORDER BY tool_number ASC';
var_dump($req);
}
elseif (empty($_POST))
{
$req = 'SELECT mould.id_mould AS idm,type,part_number,tool_number,place,status,cycle_quantity,last_use,customer_code,storage_date,alert15m,alert18m,MAX(first_alert_mail_date) AS maxfirst,MAX(last_email_alert_date) AS maxlast,MAX(email_invoice_date) AS maxemail_invoice,tool_number FROM mould LEFT JOIN invoice ON mould.id_mould=invoice.id_mould WHERE mould.actif=0 AND alert_process_inv=0 GROUP BY mould.id_mould ORDER BY tool_number ASC';
}
else
{
$req = 'SELECT mould.id_mould AS idm,type,part_number,tool_number,place,status,cycle_quantity,last_use,customer_code,storage_date,alert15m,alert18m,MAX(first_alert_mail_date) AS maxfirst,MAX(last_email_alert_date) AS maxlast,MAX(email_invoice_date) AS maxemail_invoice,tool_number FROM mould LEFT JOIN invoice ON mould.id_mould=invoice.id_mould WHERE mould.actif=0 AND alert_process_inv=0 GROUP BY mould.id_mould ORDER BY tool_number ASC';
}
$query = $mysqli->query($req);
$nb = $query->num_rows;
if ($nb > 0) {
while($data = $query->fetch_array())
{
et ci dessous mon fichier qui fait appel a mon fichier traitement
<?php
include_once("_secure3.php");
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Training</title>
<link rel="stylesheet" type="text/css" href="style/style.css">
<script src="js/jquery1.12.2-min.js"></script>
<script>
$(function(){
//Variable pour la recherche (initialement on veut tout)
var quoi = 'all';
var requete;
$("form").change(function(){
var values = $(this).serialize();
requete = $.ajax({
type:"POST",
url:"new_traitement_mould_list.php",
data:values,
success:function(data){
$("#colG").html(data);
}
});
});
});
</script>
</head>
<body>
<div id="superglobal">
<div id="global">
<?php
include_once("_menu_mould.php");
?>
<div id="titre">
<div id="titre2">
<h2>MOLDS LIST</h2>
<ul id="sous_menu">
<li id="recherche">
</li>
</ul>
</div>
</div>
<form action="#">
<table class="status">
<thead>
<th><a href="#"title="tri" id="btnTool">Tool Number</a></th>
<th><a href="#"title="tri" id="btnType">Type #</a></th>
<th>Edit</th>
<!--<th>Edit</th>-->
<th><a href="#"title="tri" id="btnCustomercode">Customer Code #</a></th>
<th><a href="#"title="tri" id="btnPartnumber">Part Number #</a></th>
<th><a href="#"title="tri" id="btnPlace">Storage Place</a></th>
<th><a href="#"title="tri" id="btnStatus">Mold Status</a></th>
<th><a href="#"title="tri" id="btnLastuse">Last Use</a></th>
<th><a href="#"title="tri" id="btnStoragedate">Storage Date</a></th>
<th><a href="#"title="tri" id="btnAlarm15m">Invoice alarm +15 M</a></th>
<th><a href="#"title="tri" id="btnAlarm18m">Invoice alarm +18 M</a></th>
<th><a href="#"title="tri" id="btnCyclequantity">Production Quantity</a></th>
</thead>
<thead>
<th>
<input type="text" name="tool_number[]" id="tool_number1" placeholder="ex: DAN0801.T2">
</th>
<?php
//Construire le select sans doublon
$query = $mysqli -> query("SELECT * FROM mould WHERE actif = 0 GROUP BY type");
$nb = $query -> num_rows;
if($nb > 0)
{
echo "<th>";
echo "<select name=\"type[]\" id=\"type\">";
echo "<option value=\"ras\">Select</option>";
while($row = $query -> fetch_array())
{
$id = $row["id_mould"];
$type= $row["type"];
echo "<option value=\"$type\">".utf8_encode($type)."</option>";
}
echo "</select>";
echo "</th>";
}
//Construire les cases à cocher sans doublon
echo "<th></th>";
echo "<th>";