Requête multicritères dans une table
Posté : 21 sept. 2005, 23:00
Dans mon apprentissage des bases SQL et php je suis passé sur une recherche multicritères
j ai fait une recherche mySQL qui fonctionne quand elle inscrite en direct dans mySQL
Je l ai passé en php
Deux champs textes initialisés en VARauteur et VARthemeoeuvre permettent la saisie dans un formulaire.
Je n ai pas de message d'erreur mais la recherche ne se fait que sur
la première variable VARauteur et non simultanément avec VARthemeoeuvre
Il y a quelque chose qui cloche
j ai fait une recherche mySQL qui fonctionne quand elle inscrite en direct dans mySQL
Code : Tout sélectionner
SELECT *
FROM articles
WHERE auteur LIKE '%colname%' AND themeoeuvre LIKE '%colname2%'Deux champs textes initialisés en VARauteur et VARthemeoeuvre permettent la saisie dans un formulaire.
Je n ai pas de message d'erreur mais la recherche ne se fait que sur
la première variable VARauteur et non simultanément avec VARthemeoeuvre
Il y a quelque chose qui cloche
Code : Tout sélectionner
<?php
// début du code concerant la requête
$colname_rstableau = "peinture"; // donner une donnée
// initialisation de la première variable VARauteur 1er saisie du formulaire
if (isset($_GET['VARauteur'])) {
$colname_rstableau = (get_magic_quotes_gpc()) ? $_GET['VARauteur'] : addslashes($_GET['VARauteur']);
}
// intialisation de la variable VARthemeoeuvre 2ème saisie du formulaire
$colname2_rstableau = "abstrait";
if (isset( $_GET['VARthemeoeuvre'])) {
$colname2_rstableau = (get_magic_quotes_gpc()) ? $_GET['VARthemeoeuvre'] : addslashes( $_GET['VARthemeoeuvre']);
}
// requête mySQL
mysql_select_db($database_artnetvideo2, $artnetvideo2);
$query_rstableau = sprintf("SELECT * FROM articles WHERE auteur LIKE '%%colname%%' AND themeoeuvre LIKE '%%%s%%'", $colname2_rstableau);
$query_limit_rstableau = sprintf("%s LIMIT %d, %d", $query_rstableau, $startRow_rstableau, $maxRows_rstableau);
$rstableau = mysql_query($query_limit_rstableau, $artnetvideo2) or die(mysql_error());
$row_rstableau = mysql_fetch_assoc($rstableau);
if (isset($_GET['totalRows_rstableau'])) {
$totalRows_rstableau = $_GET['totalRows_rstableau'];
} else {
$all_rstableau = mysql_query($query_rstableau);
$totalRows_rstableau = mysql_num_rows($all_rstableau);
}
$totalPages_rstableau = ceil($totalRows_rstableau/$maxRows_rstableau)-1;
?>