Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    estrarre immagini da db mysql

    Buongiorno a tutti,

    ho creato un piccolo form di ricerca attraverso il quale vorrei estrarre il contenuto di un database...il form contiene solo tre voci di ricerca mentre i dati da estrarre sono di più ma tutti in relazione con le tre voci.

    Questo è il codice del form
    <div id="cerca">
    Cerca un hotel
    <form action='cerca.php?ricerca=ok' method='POST'>


    Tipologia
    <select name='cerca' type='text' >
    <option selected=”selected”>Hotel</option>
    <option>Bed & Breakfast</option>
    <option>Casa Vacanze</option>
    </select>


    Localita'
    <input type="text" name="cercalocalità" id="cercalocalità" />
    <label for="cercalocalità"></label>
    </p>
    </p>





    <input type='submit' value='Invia'>
    </p>
    </p>
    </form>


    Mentre il file cerca.php ha il seguente codice:
    <?php

    $db_host = "xxx";
    $db_user = "xxx";
    $db_password = "xxx";
    $db_name = "xxx";

    //connetto il database

    $db = mysql_connect($db_host, $db_user, $db_password) or die ('Errore durante la connessione');
    mysql_select_db($db_name, $db) or die ('Errore durante la selezione del db');

    // recuperiamo il valore ricerca inviato con get

    $ricerca = $_GET['ricerca'];

    // vediamo se è stato inviato, e quindi uguale a ok

    if ( $ricerca == 'ok' ) {

    // recuperiamo ora cerca inviato con post

    $cerca = $_POST['cerca'];

    // vediamo se è stato compilato il campo

    if ( $cerca == TRUE && $cerca != "" ) {

    // ora vediamo se supera i tre caratteri

    if ( strlen($cerca) >= 3 ) {

    // ora depuriamo la stringa da cercare sul database

    $cerca = mysql_real_escape_string(stripslashes($cerca));

    // ricerca sul db

    $query = "SELECT * FROM struttura WHERE citta LIKE '%$cerca%' OR indirizzo LIKE '%$cerca%' OR tipologia LIKE '%$cerca%'";

    $risultato = mysql_query($query) or die (mysql_error());
    $risposta = mysql_query($query) or die ("Utilizza termini più specifici!");
    $dentro_la_query= mysql_fetch_assoc($risposta);

    if ($dentro_la_query == TRUE ) {

    while($row= mysql_fetch_assoc($risultato)) {

    $tipologia = $row['tipologia'];
    $nome_struttura = $row['nome_struttura'];
    $descrizione = $row['descrizione'];
    $citta = $row['citta'];
    $localita = $row['localita'];


    // stampo i dati

    echo "$tipologia
    ";
    echo "Nome: $nome_struttura
    ";
    echo "Descrizione : $descrizione
    ";
    echo "Città: $provincia
    ";
    echo "Localita': $localita
    ";


    }

    } else {

    echo "Nessun termine alla ricerca trovato";

    }
    } else {

    echo "Non hai compilato il modulo ricerca";

    }

    }
    }
    ?>

    Cliccando sul tasto cerca del form, ho notato che anche cambiando i dati per la ricerca, ottengo tutti i risultati del db, cosa sbaglio?
    Inoltre, vorrei integrare questo script con la possibilità di visualizzare anche le immagini contenute nel database...come lo devo implementare??

  2. #2
    Utente di HTML.it L'avatar di Fichico
    Registrato dal
    Nov 2002
    residenza
    Bologna
    Messaggi
    581
    inizia col capire che dati estrai dal db ...
    stampa la var $query

    codice:
    echo "###" .$query. "###";
    coi # vedi dove ti viene stampata .. ovviamente va stampata dopo che la valorizzi

    per quanto riguarda le immagini, consiglio personale, caricale sul server e mappale nel database

  3. #3
    Perdonami ma non ho capito. Dovrei modificare inserendo tipo

    echo "citta" .$query. "citta";

    ??

  4. #4

    ?

    Ciao, ho fatto diverse prove stamattina, ma secondo te può essere che c'è qualcosa di errato nel php in base al form che riguarda il select?? ho diversi campi nel form, uno "cerca" , un altro "cercalocalità"

    Può essere che devo modificare qualcosa nel php in base a questi dati...???

  5. #5
    $query = "SELECT * FROM struttura WHERE tipologia LIKE '%$cerca%' citta LIKE '%$cerca%' OR indirizzo LIKE '%$cerca%'";


    così praticamente mi da i risultati sono in base ad un campo di ricerca ovvero quello relativo alla "tipologia".

  6. #6
    Ok,
    mi da questo risultato:


    SELECT * FROM struttura WHERE citta LIKE '%Hotel%' OR indirizzo LIKE '%Hotel%' OR tipologia LIKE '%Hotel%'hotel
    Nome:
    Citta':
    Provincia:

  7. #7
    Praticamente mi da i risultati in base al campo di ricerca "tipologia". Quindi anche se nell'altro campo di ricerca inserisco una città specifica, ottengo i risultati per tutte le città.

  8. #8
    no infatti userò gli AND... in questo modo dovrei ottenere solo risultati in base a tutti i dati che inserisco nei campi di ricerca giusto??

  9. #9
    noooo mi da ancora tutti i risultati..


    // recuperiamo il valore ricerca inviato con get

    $ricerca = $_GET['ricerca'];
    if ( $ricerca == 'ok' ) {
    $cerca = $_POST['cerca'];
    $cercacitta = $_POST['cercacitta '];

    if ( $cerca == TRUE && $cerca != "" ) {
    if ( strlen($cerca) >= 3 ) {
    $cerca = mysql_real_escape_string(stripslashes($cerca));
    $cercacitta = mysql_real_escape_string(stripslashes($cercacitta ));

    // ricerca sul db

    $query = "SELECT * FROM struttura WHERE citta LIKE '%$cercacitta%' AND indirizzo LIKE '%$cerca%' AND tipologia LIKE '%$cerca%'";

    $query = "SELECT * FROM struttura WHERE citta LIKE '%$cerca%' AND provincia LIKE '%$cerca%' AND tipologia LIKE '%$cerca%'";


    // ricerca sul db

    $query = "SELECT * FROM struttura WHERE citta LIKE '%$cercacitta%' OR provincia LIKE '%$cerca%' OR tipologia LIKE '%$cerca%'";

    Non mi oriento più

  10. #10

    mi correggo

    // recuperiamo il valore ricerca inviato con get

    $ricerca = $_GET['ricerca'];
    if ( $ricerca == 'ok' ) {
    $cerca = $_POST['cerca'];
    $cercacitta = $_POST['cercacitta '];

    if ( $cerca == TRUE && $cerca != "" ) {
    if ( strlen($cerca) >= 3 ) {
    $cerca = mysql_real_escape_string(stripslashes($cerca));
    $cercacitta = mysql_real_escape_string(stripslashes($cercacitta ));

    // ricerca sul db

    $query = "SELECT * FROM struttura WHERE citta LIKE '%$cercacitta%' AND indirizzo LIKE '%$cerca%' AND tipologia LIKE '%$cerca%'";

    $query = "SELECT * FROM struttura WHERE citta LIKE '%$cerca%' AND provincia LIKE '%$cerca%' AND tipologia LIKE '%$cerca%'";



    Non mi da più alcun risultato

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.