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

    Non mi funziona la connessione/query mysqli. Ma perché?

    Ciao a tutti, vado subito al sodo. Ho una index.php con un form del tipo Marca -> Modello. Alla selezione di una marca, la select Modello mi propone dei valori. Per visualizzare le varie marche uso la funzione ShowMarche(). Una volta selezionata la marca, una funzione Javascript va a richiamare il metodo ShowModelli(). Tutto funzioni, ma la query in ShowModelli() non viene eseguita e non riesco a capire il motivo!

    Va in die! Mi mostra la query sql correttamente, quindi non c'è un errore nel passaggio del parametro o altro, ma va in die. Mi sapete dire il perché? Sto impazzendo!!

    codice:
    <?php
    class Option{
    	public function ShowMarche(){
    		$mysqli = new mysqli(HOST, USER, PASSWORD, DATABASE);
    		
    		echo '<select class="form-control" id="sel_marche" name="sel_marche"><option value="no">Scegli...</option>';
    
    
    		$query = "SELECT * FROM marche";
    		if(!$result = $mysqli->query($query)){
    		    die("<script type='text/javascript'>alert('PROBLEMA');</script>");
    		}		
    
    
    		while($row = $result->fetch_array())
    			echo '<option value="' . $row['id'] . '">' . $row['nome'] . '</option>';
    		
    		echo '</select>';
    		$result->free();
    		$mysqli->close();
    	}
    		
    	public function ShowModelli(){
    		$mysqli = new mysqli(HOST, USER, PASSWORD, DATABASE);
    			
    		$id_marche = $_POST['id_marche'];
     
    		$query = "SELECT * FROM modelli WHERE id_marca=$id_marche";
    		if(!$result = $mysqli->query($query)){
    		    die("<script type='text/javascript'>alert('$query');</script>");
    		}
    			
    		echo'<option value="no">Scegli...</option>';
    		
    		while($row = $result->fetch_array())
    			echo '<option value="' . $row['id'] . '">' . $row['nome'] . '</option>';
    			
    		$result->free();
    		$mysqli->close();
    	}
    		
    	public function ShowClub(){
    		$mysqli = new mysqli(HOST, USER, PASSWORD, DATABASE);
    		$query = "SELECT * FROM club";
    		$result = $mysqli->query($query);
    		
    		while($row = $result->fetch_array())
    			echo '<option value="' . $row['id'] . '">' . $row['nome'] . '</option>';
    			
    		$result->free();
    		$mysqli->close();
    	}
    }
    ?>
    www.mtlook.it - Marketing & Image Management
    www.advise.it - Soluzioni informatiche per la tua azienda

  2. #2
    Il codice puro Javascript non la chiamerà mai perché è una funzione PHP, non una funzione Javascript. A meno che tu non stia facendo una HttpRequest.

    EDIT: no scusate non avevo letto le ultime due righe
    Ultima modifica di ZioLuffio; 14-10-2014 a 14:55

  3. #3
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    nel die, oltre alla query, fatti mostrare l'errore (mysqli_error())

  4. #4
    Quote Originariamente inviata da clasku Visualizza il messaggio
    nel die, oltre alla query, fatti mostrare l'errore (mysqli_error())
    Non mi da nulla.... vuoto... "undefined"

    www.mtlook.it - Marketing & Image Management
    www.advise.it - Soluzioni informatiche per la tua azienda

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2014
    residenza
    Voltati
    Messaggi
    913
    Codice PHP:
    $mysqli->error 
    No

  6. #6
    Quote Originariamente inviata da tampertools Visualizza il messaggio
    Codice PHP:
    $mysqli->error 
    Si si, ho usato proprio lo stile orientato agli oggetti "$mysqli->error" e ricevo un "undefined"
    www.mtlook.it - Marketing & Image Management
    www.advise.it - Soluzioni informatiche per la tua azienda

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2014
    residenza
    Voltati
    Messaggi
    913
    sostituisci questo
    Codice PHP:
    if(!$result $mysqli->query($query)){ 
    con
    Codice PHP:
    $result $mysqli->query($query);
    var_dump($result);
    var_dump($mysqli);
    if (!
    $result) { 
    No

  8. #8
    Quote Originariamente inviata da tampertools Visualizza il messaggio
    sostituisci questo
    Codice PHP:
    if(!$result $mysqli->query($query)){ 
    con
    Codice PHP:
    $result $mysqli->query($query);
    var_dump($result);
    var_dump($mysqli);
    if (!
    $result) { 
    Innanzitutto grazie per il supporto che mi stai dando. Ho provato, ma nulla da fare, ricevo sempre un "undefined". Questo è il codice che ho usato:

    codice:
    $result = $mysqli->query($query);
            var_dump($result);
            var_dump($mysqli);
            if(!$result)
                echo "<script type='text/javascript'>alert(". $mysqli->error .");</script>";
    www.mtlook.it - Marketing & Image Management
    www.advise.it - Soluzioni informatiche per la tua azienda

  9. #9
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    invece che usare gli alert javascript, metti un echo nella pagina

  10. #10
    Si, ho messo una echo nell'option della select. Il risultato? Ho una stringa "Errore: " Cioè con il vuoto dopo errore... Come se non ci fosse l'errore, ma intanto non va...

    if(!$result)
    echo "<option>Errore: ". $mysqli->error ."</option>";
    www.mtlook.it - Marketing & Image Management
    www.advise.it - Soluzioni informatiche per la tua azienda

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 © 2024 vBulletin Solutions, Inc. All rights reserved.