Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    104

    Combo box all’interno di php

    Ciao a tutti, sto scrivendo un programmino(esercitazione per l’università) che serve a gestire informazioni su le divisioni in vari di un territorio comunale: Circoscrizioni strade e quartieri.
    Devo realizzare il programma con html-php.
    Poiché il testo dice che ogni quartiere appartiene ad una sola circoscrizione, ho deciso di inserire la relazione tra circoscrizione e quartiere direttamente durante l’inserimento di un quartiere.
    Per non lasciare un casella di text nel cui far scegliere a chi inserisce i dati la circoscrizione inserendone il nome, volevo fare in modo che l’utente potesse scegliere solo tra le circoscrizioni già nel db tramite un comboBox che elencasse le circoscrizioni precedentemente inserite nel db.
    Perciò ho fatto uno script php di questo tipo

    codice:
    <td align="center"> 
    	<fieldset>
    		<h3 align = center>
    			Inserisci quartiere
    		</h3>
    		
    
    					
    		<form method="post" action="crea_quartiere.php">
    
    			Nome del quartiere
     <input type="text" name="nome" />
    			Circoscrizione<select name="Circoscrizione">
    			<?php
    
    				// Mi connetto a Mysql
    				$host = 'localhost';
    				$user = 'root';
    				$password = '';
    				$db_name = 'comune';
    
    				$db = mysql_connect($host,$user,$password) 
    or die("Non riesco a connettermi");
    									
    
    mysql_select_db($db_name, $db) 
    or die("Non riesco a trovare il database");;
    									
    //Seleziono i dati presenti nella tabella circoscrizione
    $sql="SELECT *FROM circoscrizione WHERE 1";
    $res=mysql_query($sql, $db) or die ("ERRORE: ".mysql_error());
    $num=mysql_num_rows($res);	
    							
    									if($num)
    	{ 
      		while ($row = mysql_fetch_array($res))
    		{	
    			$prova = $row[1];
    			?>
    			<option value=<?"$prova"?>> <?$prova ?></option>
    											<?
    }
    }
    else
    {}
    // CHIUSURA DEL DATABASE
    mysql_close($db);
    						
    									
    	
    
    
    ?> 
    </select>
            
    	
     
    
    	<INPUT type="SUBMIT" value="Inserisci la strada" />
    </form>
    </fieldset> 
    </td>
    Ma mi da sempre l’errore:
    Parse error: parse error in c:\programmi\easyphp1-8\www\comune\inserisci_quartiere.php on line 89

    Da quanto capisco dovrebbe essere un errore di sintassi, ma a me sembra che la sintassi html sia corretta.

    Mi è venuto il dubbio che non si possano usare combobox all’interno di un’istruzione php

    Qualcuno può dirmi dove sto sbagliando?

    Grazie a tutti ciao
    Nogero

  2. #2
    la riga 89 qual'è?

  3. #3
    or die("Non riesco a trovare il database");;

    togli un punto e virgola.
    C'è un errore nella query *FROM.
    Metti ovviamente * From.
    Vedi se funge.
    Poi, che vuol dire questo WHERE 1 ??
    Sistemi di allarme, telecamere, autoradio, video proiettori e altri prodotti tecnologici: fedom.it

  4. #4
    giusto!

    altra osservazione...
    usa il tag completo di apertura: <?php e non solo <?

    ciauz

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    104
    no il problema è dato nella riga

    <option value=<?"$prova"?>> <?$prova ?></option>

    se la metto cosi come appena scritta non da errori ma non fornisce alcuna opzione nel combobox

    se invece scrivo

    {
    $prova = $row[1];

    <option value="$prova"> $prova </option>

    }


    mi da l'errore che ho segnalato prima..
    Nogero

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    104
    or die("Non riesco a trovare il database");;

    togli un punto e virgola.
    C'è un errore nella query *FROM.
    Metti ovviamente * From.
    Vedi se funge.
    Poi, che vuol dire questo WHERE 1 ??
    Ho provato ma da lo stesso errore

    Where 1 vuol dire seleziona tutti i dati della tabella
    Nogero

  7. #7
    Originariamente inviato da nogero
    Ho provato ma da lo stesso errore

    Where 1 vuol dire seleziona tutti i dati della tabella
    WHERE 1 non ha senso...o meglio...è assolutamente inutile!

    Codice PHP:
    <td align="center">
        <fieldset>
            <h3 align = center>
                Inserisci quartiere
            </h3>
            

                        
    <form method="post" action="crea_quartiere.php">

    Nome del quartiere
     <input type="text" name="nome" />

    <?php

    // Mi connetto a Mysql
    $host 'localhost';
    $user 'root';
    $password '';
    $db_name 'comune';

    $db mysql_connect($host,$user,$password) or die("Non riesco a connettermi");
                                        

    mysql_select_db($db_name$db) or die("Non riesco a trovare il database");
                                        
    //Seleziono i dati presenti nella tabella circoscrizione

    $sql="SELECT * FROM circoscrizione";
    //non ha senso mettere where 1...è inutile!

    $res=mysql_query($sql$db) or die("ERRORE: ".mysql_error());
    $num=mysql_num_rows($res);    

    $output 'Circoscrizione<select name="Circoscrizione" id="Circoscrizione">';

    if (
    $num)
       {
       while (
    $row mysql_fetch_array($res))
          
    $output .= '<option value="'.$row[1].'">'.$row[1].'</option>';
    }

    // CHIUSURA DEL DATABASE
    mysql_close($db);
                            
    $output .= '</select>';

    echo 
    $output;

    ?>

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    104
    grazie equiweb

    ho provto il codice che mi hai postato ma i campi compaiono fuori dal combobx

    per esempio supponendo di aver inserito le circoscrizioni Prima, Seconda e Terza compare cosi

    conbobox PrimaSecondaTerza

    In ogni caso dovevo aggiungere queste per farlo scrivere?
    $output = 'Circoscrizione<select name="Circoscrizione" id="Circoscrizione">';
    $output .= '<option value="'.$row[1].'">'.$row[1].'</option>';
    $output .= '</select>';

    echo $output;

    perchè altrimenti non lo riconosce come sintassi per il combo?
    Nogero

  9. #9
    quello è un sistema che ho usato io per evitare di dover usare tanti echo...
    il codice così è meglio ottimizzato

    cmq posta l'html che ti compare... così posso correggere l'errore


    ciauz

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    104
    Grazie mille
    equiweb.it

    facevo un errore io prima del codice php, ora che l'ho corretto funzoina alla perfezione.

    Dato che ci sono ne approfitto per chiederti un ultima cosa:
    dopo che seleziono il valore del combo, per passare i dati alla pagina che si occuppa di processarli devo solo indicare circoscrizione come nome dell'elemento da passare e fa tutto php in automatico?
    Nogero

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.