Buongiorno
Premetto di non essere molto brava, però sto provando a creare una pagina html con interrogazione di dati in un database.
Ho creato la pagina html che invia dati al database e attraverso una query rilascia il risultato desiderato.
Il mio database contiene tutte le parole di 6 lettere che sono presenti nel dizionario zanichelli.
La query di selezione permette di cercare le parole in base anche all'inserimento di una sola lettera che è presente nelle parole.
Mi spiego meglio, mettiamo caso che voglia trovare tutte le parole di 6 lettere che contengono la lettera a, e che non contengono la lettera o.
Fino ad un certo punto va tutto bene (il codice che ho inserito va bene), ma nel momento in cui inserisco il continuo delle condizioni (che tra l'altro sono identiche a quelle sopra, quindi ho fatto copia e incolla e modificato solo le variabili), il risultato mi dà solo connessione stabilita al database e nessun record trovato.
Quello che non capisco è perchè se inserisco "and" non funziona più, ma se inserisco "or" funziona (però ovviamente non soddisfa i miei criteri di ricerca)
Vi posto il codice della pagina html e php, spero riuscite ad aiutarmi.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//IT">
<html>
<head>
<title> esercizi database</title>
</head>
<body>
<h1> ricerca parole 6 lettere</h1>
<form ACTION="visualizzaparola.php" METHOD="post">
<table BORDER="0">
<tr>
<td>lettera iniziale: <input NAME= "uno" TYPE="TEXT" size="50" maxlength="50">
</td></tr>
</table>
<table BORDER="0">
<tr>
<td>lettera secondo posto: <input NAME= "due" TYPE="TEXT" size="50" maxlength="50">
</td></tr>
</table>
<table BORDER="0">
<tr>
<td>lettera terzo posto: <input NAME= "tre" TYPE="TEXT" size="50" maxlength="50">
</td></tr>
</table>
<table BORDER="0">
<tr>
<td>lettera quarto posto: <input NAME= "quattro" TYPE="TEXT" size="50" maxlength="50">
</td></tr>
</table>
<table BORDER="0">
<tr>
<td>lettera quinto posto: <input NAME= "cinque" TYPE="TEXT" size="50" maxlength="50">
</td></tr>
</table>
<table BORDER="0">
<tr>
<td>lettera finale: <input NAME= "sei" TYPE="TEXT" size="50" maxlength="50">
</td></tr>
</table>
<br>
<br>
<table BORDER="0">
<tr>
<td>lettere presenti: <input NAME= "sette" TYPE="TEXT" size="50" maxlength="50">
</td></tr>
</table>
<table BORDER="0">
<tr>
<td>lettere presenti: <input NAME= "otto" TYPE="TEXT" size="50" maxlength="50">
</td></tr>
</table>
<table BORDER="0">
<tr>
<td>lettere presenti: <input NAME= "nove" TYPE="TEXT" size="50" maxlength="50">
</td></tr>
</table>
<table BORDER="0">
<tr>
<td>lettere presenti: <input NAME= "dieci" TYPE="TEXT" size="50" maxlength="50">
</td></tr>
</table>
<table BORDER="0">
<tr>
<td>lettere presenti: <input NAME= "undici" TYPE="TEXT" size="50" maxlength="50">
</td></tr>
</table>
<table BORDER="0">
<tr>
<td>lettere presenti: <input NAME= "dodici" TYPE="TEXT" size="50" maxlength="50">
</td></tr>
</table>
<br>
<br>
<table BORDER="0">
<tr>
<td>lettere non presenti: <input NAME= "tredici" TYPE="TEXT" size="50" maxlength="50">
</td></tr>
</table>
<input TYPE="reset" value="Pulisci campi"> <input TYPE="submit" value="Invio dati">
</form>
</body>
</html>
<?php
require_once ("database.php");
$result='';
$uno=$_POST["uno"]; //passata da html
$due=$_POST["due"]; //passata da html
$tre=$_POST["tre"]; //passata da html
$quattro=$_POST["quattro"]; //passata da html
$cinque=$_POST["cinque"]; //passata da html
$sei=$_POST["sei"]; //passata da html
$sette=$_POST["sette"]; //passata da html
$otto=$_POST["otto"]; //passata da html
$nove=$_POST["nove"]; //passata da html
$dieci=$_POST["dieci"]; //passata da html
$undici=$_POST["undici"]; //passata da html
$dodici=$_POST["dodici"]; //passata da html
$tredici=$_POST["tredici"]; //passata da html
$sql = "SELECT * FROM wind WHERE P like '".$uno."_____' and P like '_".$due."____'and P like '__".$tre."___'and P like '___".$quattro."__'and P like '____".$cinque."_'and P like '_____".$sei."'and P like '%".$sette."%'and P like '%".$otto."%'and P like '%".$nove."%'and P like '%".$dieci."%'and P like '%".$undici."%'and P like '%".$dodici."%'and P not like '%".$tredici."%'";
$result = $connessione->query($sql);
if ($result->num_rows > 0)
{
echo "<h1> DATI TROVATI </h1>";
while ($row = $result->fetch_assoc()) {
$parola=$row["P"];
echo "<h2>" ."$parola". "</h2>";
}
}
else {
echo "nessun record trovato";
$connessione->close();
exit;
}
echo "<a href=paginaesempio.html>TORNA INDIETRO</a>";
?>