Applicare mysqli_fetch_assoc a query già esistente
Salve,
sto tentando inutilmente di inserire mysqli_fetch_assoc nella mia pagina funzionante con mysqli_fetch_array.
Ho la tabella chiamata dizgeagri in un database, ho i campi "Parola", "Traduz", "note", ecc. Nel campo "Parola" posso avere per esempio, "secchio" con relativa traduzione, ma posso avere anche il campo "secchio per l'acqua" con relativa Traduzione, ecc.
Vorrei che inserendo, nel form di ricerca di una pagina.php , la parola "secchio" mi desse come risultato
"secchio" con relativa traduzione, poi nella seconda riga mi desse anche "secchio per l'acqua" con rel. trad.
Mi hanno detto che non devo estrarre il termine di ricerca, ma quello che leggo dal db.
Ora devo applicare mysqli_fetch_assoc, ho provato diverse soluzioni (qui https://www.w3schools.com/php/func_m...etch_assoc.asp)
Questo il codice da modificare
Codice PHP:
<?php
// Reads word from GET or POST
$aParola = null;
if (isset($_REQUEST['Parola']) && !empty($_REQUEST['Parola'])) {
$aParola = $_POST['Parola'];
}
else {
die("Manca la parola");
}
// Connects to database
$connection = mysqli_connect("localhost", "xxxxxx", "my_xxxxxx", "my_xxxxxx");
if (!$connection) {
die("Impossibile connettersi alla base di dati: " . mysqli_connect_error());
}
// Reads word from database
$query = "SELECT * FROM dizgeagri WHERE Parola LIKE '$aParola%'";
$result = mysqli_query($connection, $query);
if (!$result) {
die("Errore nella query: " . mysqli_error($connection));
}
$row = mysqli_fetch_array($result);
// Redirects if word is not in the database
if (!$row) {
header("location: diz_ines.html");
exit;
}
// Altrimenti se la parola è disponibile
$traduzione = $row['Traduz'];
$note = $row['note'];
$categoria = $row['categ'];
$immagine = $row['img'];
$immagine_2 = $row['img2'];
$link = stristr($anote, 'vedi')
? 'dizge_rich-dati.php?Parola=' . substr($anote, -strlen($anote) + 5)
: null;
// Closes connection to database
mysqli_free_result($result);
mysqli_close($connection);
?>
<div style="font-family: book antiqua,times new roman; font-size:18px; color:#B00000">
<b><?php echo $aParola; ?> </b>
<span style="font-family:book antiqua,times new roman; font-size:15px; color:#000000"><?php echo $categoria; ?></span>
<span style="font-size:18px; color:#000040">=<b><?php echo $traduzione; ?></b></span>
</div>
<font face='arial,sans-serif' size='2' color='#000000'>
<?php echo ($link ? "<b><a href=\"$link\">$note</a></b>" : $note); ?>
</font><br>
<?php
if (!is_null($immagine)) {
echo '<img src="http://paolin.altervista.org/immdiz/' . $immagine . '" class="img-responsive" >';
}
if (!is_null($immagine_2)) {
echo ' <img src="http://paolin.altervista.org/immdiz/' . $immagine_2 . '" class="img-responsive">';
}
?>
Ho provato a sostituire
Codice PHP:
$row = mysqli_fetch_array($result);
con
Codice PHP:
$row = mysqli_fetch_assoc($result);
ma non riesco a stampare tutti irisultati di ciò che leggo da db, ma solo il singolo termine di ricerca.
Spero d'essermi spiegato. Come posso fare? :confused:
Grazie