salve,
ho codesta query msqli prepared statements su db con tabella catalogo e campi autore titolo editore anno euro:
poi in html stampo esito
..funziona solo se inserisco nome e cognome come è nel DB (es alberto savinio)..se cerco per nome o per cognome lo script non dà alcun risultato..il titolo lo devo inserire tutto...insomma funziona come un = ...come fare per permettere una riceca solo per nome o cognome o parte del titolo ?
grazie
ho codesta query msqli prepared statements su db con tabella catalogo e campi autore titolo editore anno euro:
PHP:
if (isset($_POST['keywords'])){
$keywords = $_POST['keywords'];
$pattern = "/[\s]+/";
$replacement = " ";
$keywords = trim(preg_replace($pattern, $replacement, $keywords));
$db_connenct = new mysqli($dbHost, $dbUser, $dbPass, $dbName);
if($db_connenct->connect_errno > 0){
die('Unable to connect to database [' . $db_connenct->connect_error . ']');
}else{
if($stmt = $db_connenct->prepare("SELECT catalogo.autore, catalogo.titolo, catalogo.editore, catalogo.anno, catalogo.euro FROM catalogo WHERE catalogo.autore LIKE ? OR catalogo.titolo LIKE ? ORDER BY anno DESC")){
$stmt->bind_param('ss', $key, $key2);
$key = $keywords;
$key2 = $keywords;
$stmt -> execute();
$stmt->store_result();
$numrows = $stmt->num_rows;
$stmt -> bind_result($autore, $titolo, $editore, $anno, $euro);
}else{
printf("Prepared Statement Error: %s\n", $db_connenct->error);
}
}
}
poi in html stampo esito
HTML:
<body>
<?php
if($numrows > 0){ ?>
<table border="0" cellspacing="0" id="table-risultati">
<?php while($stmt->fetch()) { ?>
<tbody>
<tr>
<td><img src="<?php echo $immagine; ?>" alt="la copertina del libro" width="30" height="50" /></td>
<td><div class="dettaglio"><?php $autore; ?></div></td>
<td><div class="font-titolo"><?php echo $titolo; ?></div></td>
<td><div class="font-editore"><?php echo $editore; ?></div></td>
<td><div class="font-novità"><?php echo $anno; ?></div></td>
<td><div class="font-euro"><?php echo $euro; ?></div></td>
<td><div class="dettaglio-novità-scheda"><a href="catalogo.php?recordID=<?php echo $id; ?>">scheda</a></div></td>
</tr>
</tbody>
<?php }
$stmt->close();
$db_connenct->close();
}else{
echo 'nessun risultato';
}
?>
</table>
</body>
..funziona solo se inserisco nome e cognome come è nel DB (es alberto savinio)..se cerco per nome o per cognome lo script non dà alcun risultato..il titolo lo devo inserire tutto...insomma funziona come un = ...come fare per permettere una riceca solo per nome o cognome o parte del titolo ?
grazie