par
Lisa » 15 janv. 2011, 13:25
bonjour,
j'ai un petit formulaire de recherche qui va m'afficher des infos de la base , le form est sur la même page que l'affichage du résultat.
Mon problème est qu'au départ, au chargement de la page ou il y'a le formulaire j'ai déjà l'affichage de quelques enregistrement de la table ( j'ai limité à 10).
je voudrais que ça n'affiche la liste correspondant au mot clé qu'une fois la recherche lancée , qu'au départ ça n'affiche rien
voici le code
Code : Tout sélectionner
<?php
//moteur recherche
$Search1_DefaultWhere = "";
if (!session_id()) session_start();
if ((isset($_POST["Search1"])) && ($_POST["Search1"] != "")) {
$Search1 = new FilterDef;
$Search1->initializeQueryBuilder("MYSQL","1");
//keyword array declarations
$KeyArr0 = array("villes");
//comparison list additions
$Search1->keywordComparison($KeyArr0,"".((isset($_POST["cherchedata"]))?$_POST["cherchedata"]:"") ."","AND","Includes",",%20","%20","%22","%22",0);
$Search1->addComparisonFromEdit("com_data","cherchecp","AND","=",0);
//save the query in a session variable
if (1 == 1) {
$_SESSION["Search1_homefrance3"]=$Search1->whereClause;
}
}
else {
$Search1 = new FilterDef;
$Search1->initializeQueryBuilder("MYSQL","1");
//get the filter definition from a session variable
if (1 == 1) {
if (isset($_SESSION["Search1_homefrance3"]) && $_SESSION["Search1_homefrance3"] != "") {
$Search1->whereClause = $_SESSION["Search1_homefrance3"];
}
else {
$Search1->whereClause = $Search1_DefaultWhere;
}
}
else {
$Search1->whereClause = $Search1_DefaultWhere;
}
}
$Search1->whereClause = str_replace("\\''", "''", $Search1->whereClause);
$Search1whereClause = '';
?>
<?php
$maxRows_recherchedata = 10;
$pageNum_recherchedata = 0;
if (isset($_GET['pageNum_recherchedata'])) {
$pageNum_recherchedata = $_GET['pageNum_recherchedata'];
}
$startRow_recherchedata = $pageNum_recherchedata * $maxRows_recherchedata;
mysql_select_db($database_accesville, $accesville);
$query_recherchedata = "SELECT * FROM table ORDER BY rand () ";
setQueryBuilderSource($query_recherchedata,$Search1,false);
$query_limit_recherchedata = sprintf("%s LIMIT %d, %d", $query_recherchedata, $startRow_recherchedata, $maxRows_recherchedata);
$recherchedata = mysql_query($query_limit_recherchedata, $accesville) or die(mysql_error());
$row_recherchedata = mysql_fetch_assoc($recherchedata);
if (isset($_GET['totalRows_recherchedata'])) {
$totalRows_recherchedata = $_GET['totalRows_recherchedata'];
} else {
$all_recherchedata = mysql_query($query_recherchedata);
$totalRows_recherchedata = mysql_num_rows($all_recherchedata);
}
$totalPages_recherchedata = ceil($totalRows_recherchedata/$maxRows_recherchedata)-1;
?>
<form name="form1" method="post" action="">
<input class="textetitre2" name="cherchedata" type="text" id="cherchedata" value="Entrez une info" />
<input class="textetitre2" name="code" type="text" id="cherchecp" value="code" size="12"><input name="Search1" type="submit" class="boutoncarte" value="OK"></td>
<?php do { ?>
<?php echo $row_recherchedata['data']; ?>
<?php } while ($row_recherchedata = mysql_fetch_assoc($recherchedata)); ?>
</table></td>
</tr>
</table>
</form>
<?php
mysql_free_result($recherchedata);
?>
est ce que je peux controller le fait qu'il y'ai ou pas l'affichage de la liste selon une condition
par exemple ici
Code : Tout sélectionner
//save the query in a session variable
if (1 == 1) {
$_SESSION["Search1_homefrance3"]=$Search1->whereClause;
}
}
merci pour votre aide
bonjour,
j'ai un petit formulaire de recherche qui va m'afficher des infos de la base , le form est sur la même page que l'affichage du résultat.
Mon problème est qu'au départ, au chargement de la page ou il y'a le formulaire j'ai déjà l'affichage de quelques enregistrement de la table ( j'ai limité à 10).
je voudrais que ça n'affiche la liste correspondant au mot clé qu'une fois la recherche lancée , qu'au départ ça n'affiche rien
voici le code
[code]<?php
//moteur recherche
$Search1_DefaultWhere = "";
if (!session_id()) session_start();
if ((isset($_POST["Search1"])) && ($_POST["Search1"] != "")) {
$Search1 = new FilterDef;
$Search1->initializeQueryBuilder("MYSQL","1");
//keyword array declarations
$KeyArr0 = array("villes");
//comparison list additions
$Search1->keywordComparison($KeyArr0,"".((isset($_POST["cherchedata"]))?$_POST["cherchedata"]:"") ."","AND","Includes",",%20","%20","%22","%22",0);
$Search1->addComparisonFromEdit("com_data","cherchecp","AND","=",0);
//save the query in a session variable
if (1 == 1) {
$_SESSION["Search1_homefrance3"]=$Search1->whereClause;
}
}
else {
$Search1 = new FilterDef;
$Search1->initializeQueryBuilder("MYSQL","1");
//get the filter definition from a session variable
if (1 == 1) {
if (isset($_SESSION["Search1_homefrance3"]) && $_SESSION["Search1_homefrance3"] != "") {
$Search1->whereClause = $_SESSION["Search1_homefrance3"];
}
else {
$Search1->whereClause = $Search1_DefaultWhere;
}
}
else {
$Search1->whereClause = $Search1_DefaultWhere;
}
}
$Search1->whereClause = str_replace("\\''", "''", $Search1->whereClause);
$Search1whereClause = '';
?>
<?php
$maxRows_recherchedata = 10;
$pageNum_recherchedata = 0;
if (isset($_GET['pageNum_recherchedata'])) {
$pageNum_recherchedata = $_GET['pageNum_recherchedata'];
}
$startRow_recherchedata = $pageNum_recherchedata * $maxRows_recherchedata;
mysql_select_db($database_accesville, $accesville);
$query_recherchedata = "SELECT * FROM table ORDER BY rand () ";
setQueryBuilderSource($query_recherchedata,$Search1,false);
$query_limit_recherchedata = sprintf("%s LIMIT %d, %d", $query_recherchedata, $startRow_recherchedata, $maxRows_recherchedata);
$recherchedata = mysql_query($query_limit_recherchedata, $accesville) or die(mysql_error());
$row_recherchedata = mysql_fetch_assoc($recherchedata);
if (isset($_GET['totalRows_recherchedata'])) {
$totalRows_recherchedata = $_GET['totalRows_recherchedata'];
} else {
$all_recherchedata = mysql_query($query_recherchedata);
$totalRows_recherchedata = mysql_num_rows($all_recherchedata);
}
$totalPages_recherchedata = ceil($totalRows_recherchedata/$maxRows_recherchedata)-1;
?>
<form name="form1" method="post" action="">
<input class="textetitre2" name="cherchedata" type="text" id="cherchedata" value="Entrez une info" />
<input class="textetitre2" name="code" type="text" id="cherchecp" value="code" size="12"><input name="Search1" type="submit" class="boutoncarte" value="OK"></td>
<?php do { ?>
<?php echo $row_recherchedata['data']; ?>
<?php } while ($row_recherchedata = mysql_fetch_assoc($recherchedata)); ?>
</table></td>
</tr>
</table>
</form>
<?php
mysql_free_result($recherchedata);
?>
[/code]
est ce que je peux controller le fait qu'il y'ai ou pas l'affichage de la liste selon une condition
par exemple ici
[code]//save the query in a session variable
if (1 == 1) {
$_SESSION["Search1_homefrance3"]=$Search1->whereClause;
}
}[/code]
merci pour votre aide