Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    33

    LEFT JOIN sulla stessa tabella

    spiego subito...

    IT_Trade (nome tabella)

    ID|Manufacturer|ModelNo
    1 |Acer| xy123
    2 |Acer| xy456
    3 |Casio| qw123

    nella query ho: SELECT ModelNo FROM IT_Trade (WHERE o JOIN ???) ORDER BY ID ASC

    Vorrei mettere in relazione i ModelNo in base a Manufacturer

    in modo che nella prima selezione scegliendo Manufacturer
    si popoli la seconda scelta in base a Manufacturer

    Grazie!

  2. #2

    Re: LEFT JOIN sulla stessa tabella

    Originariamente inviato da pato79
    Vorrei mettere in relazione i ModelNo in base a Manufacturer

    in modo che nella prima selezione scegliendo Manufacturer
    si popoli la seconda scelta in base a Manufacturer

    Grazie!
    Cosa intendi per "in modo che nella prima selezione scegliendo Manufacturer
    si popoli la seconda scelta in base a Manufacturer"
    CODENCODE \ Branding \ Design \ Marketing
    www.codencode.it

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    33
    Ho 2 select, in una scelgo la marca (Manufacturer) e nella seconda vorrei scegliere il Modello (ModelNo) in base solo alla marca scelta.

    tutto funziona, mi manca solo questa parte, cioè dire alla seconda query, quella della scelta del modello, di popolare la select solo con i modelli relativi alla marca.....scusa il giro di parole eh...

    Grazie

    PS. se vuoi qui la discussione a cui nessuno trova risposta:

    http://forum.html.it/forum/showthrea...0#post13001160

  4. #4
    $sql = "SELECT * FROM IT_TRADE WHERE Manufacturer ="'".$manufacturer."'";
    $manufacturer lo devi valorizzare prima della query mediante il valore preso dal GET o dal POST.
    CODENCODE \ Branding \ Design \ Marketing
    www.codencode.it

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    33
    Grazie codencode...purtroppo non funziona....provo a postarti il codice... vediamo se almeno tu riesci....
    codice:
    <?php
    class Option
    {
    	public $conn;
     
    		public function __construct()
    		{
    			$this->DbConnectAndSelect();
    		}
     
    		protected function DbConnectAndSelect()
    		{
    			include_once "db_config.php";
    			$this->conn = mysql_connect($db_host,$username,$password);
    			mysql_select_db($db_name, $this->conn);
    			return TRUE;
    		}
     
    		public function ShowContinenti()
    		{
    			
    			echo 'Seleziona una marca:
    ';
    			echo '<select id="sel_continenti" name="sel_continenti"><option value="no">Scegli...</option>';
     
    		
     
    			$sql = "SELECT DISTINCT Manufacturer FROM IT_Trade ORDER BY Manufacturer ASC";
    			$res = mysql_query($sql,$this->conn);
     
    				while($row = mysql_fetch_array($res))
    				{
    					echo '<option value="' . $row['ID'] . '">' . $row['Manufacturer'] . $row['ModelNo'] . '</option>';
    				}
     
    			echo '</select>';
    		}
     
    		public function ShowNazioni()
    		{
    			if($_POST['Manufacturer'] == "no") /**/
    			{
    				die;
    			}
     
     
    			$sql = "SELECT ID, ModelNo, Manufacturer FROM IT_Trade Manufacturer ="'.$Manufacturer.'" ORDER BY Manufacturer ASC";
    			
    			
    			$res = mysql_query($sql,$this->conn);
    				echo'<option value="no">Scegli...</option>';
    				while($row = mysql_fetch_array($res))
    				{
    					echo '<option value="' . $row['ID'] . '">' . $row['ModelNo'] . $row['Trade_Price'] . '</option>';
    				}
     
     
    		}
     
    		public function ShowResult()
    		{
    			if($_POST['ID'] == "no")
    			{
    				die;
    			}
    			echo '
    
    Hai scelto il modello: ';
    			$sql = "SELECT ModelNo,Trade_Price FROM IT_Trade WHERE id=$_POST[id]";
    			$res = mysql_query($sql,$this->conn);
    			$row = mysql_fetch_array($res);
    			echo $row['ModelNo'];
    
    			//calcolo aumento prezzo al pubblico
    {
    $num1=20;
    $num2=100;
    {$x = (($num1 / $num2)* $row['Trade_Price']);}
    {$y = ($row['Trade_Price'] + $x)+10; }
    //fine calcolo
    echo "  -  Euro: " . round($y, 2)  . ""; //visualizzazione risultato
    }
    		}
    }
     
    ?>
    ti ricordo che il db è cosi organizzato:
    IT_Trade (nome tabella)

    ID|Manufacturer|ModelNo
    1 |Acer| xy123
    2 |Acer| xy456
    3 |Casio| qw123

    grazie!

  6. #6
    Io non vedo le query che servono a te.
    Secondo me dovresti prima mostrare un form in cui visualizzi le marche, poi selezionando una marca, il form viene spedito e nella pagina a cui viene spedito (può essere anche la stessa) fa la query che ti ho postato, ovvero:
    $sql = "SELECT * FROM IT_TRADE WHERE Manufacturer ="'".$manufacturer."'";
    Ovviamente nel primo form ai value devi associare l'id di $manufacturer.
    CODENCODE \ Branding \ Design \ Marketing
    www.codencode.it

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    33
    la cosa assurda è che se tolgo WHERE tutto funziona, ha solo un problema, mi fa vedere tutti i modelli presenti nel db a prescindere dalla marca scelta...

    nel momento in cui inserisco WHERE non mi fa apparire più i modelli di nessuna marca

    e la cosa ancora più incredibile e che in 4 forum nessuno è ancora riuscito a risolvere questa cosa...

    mi da fastidio che funziona solo non mette in relazione marca con modello assurdo!

  8. #8
    Prova a postare tutto il codice, sia html che php.
    CODENCODE \ Branding \ Design \ Marketing
    www.codencode.it

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    33
    Originariamente inviato da codencode
    Prova a postare tutto il codice, sia html che php.
    questo è l'index:
    Codice PHP:
     
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    <script type="text/javascript" src="./jquery-1.3.2.js"></script>
    <script type="text/javascript">
    $(document).ready(function() {
     
    $('#manufacturer').change(function(){
     
                var cont = $('#manufacturer').attr('value');
     
                $.post("selection.php", {id_cont:cont}, function(data){
                $("#ModelNo").empty();
                $("div#result").empty();
                $("#ModelNo").prepend(data);
                });
                });
     
    $('#ModelNo').change(function(){
     
                var id_naz = $('#ModelNo').attr('value');
     
                $.post("result.php", {id:id_naz}, function(data){
                $("div#result").empty();
                $("div#result").prepend(data);
                });
                });
     
    });
    </script>
    </head>
     
     
    <body>
    <div id="marca">
    <?php
    include_once 'option.class.php';
    $obj = new Option();
    $obj->ShowMarca();
    ?>
    </div>
     
    <div id="modello">
    Seleziona un modello:

    <select id="ModelNo" name="ModelNo"><option value="no">Scegli...</option>
    </select>
    </div>
     
    <div id="result"></div>
     
     
    </body>
    ---------------------
    php:
    Codice PHP:
    <?php
    class Option
    {
        public 
    $conn;
     
            public function 
    __construct()
            {
                
    $this->DbConnectAndSelect();
            }
     
            protected function 
    DbConnectAndSelect()
            {
                include_once 
    "db_config.php";
                
    $this->conn mysql_connect($db_host,$username,$password);
                
    mysql_select_db($db_name$this->conn);
                return 
    TRUE;
            }
     
            public function 
    ShowMarca()
            {
                
                echo 
    'Seleziona una marca:
    '
    ;
                echo 
    '<select id="manufacturer" name="manufacturer"><option value="no">Scegli...</option>';
     
            
     
                
    $sql "SELECT DISTINCT Manufacturer FROM IT_Trade ORDER BY Manufacturer ASC";
                
    $res mysql_query($sql,$this->conn);
     
                    while(
    $row mysql_fetch_array($res))
                    
                    {
                        echo 
    '<option value="' $row['ID'] . '">' $row['Manufacturer'] .  '</option>';
                        
                    }
     
                echo 
    '</select>';
                 
            }

     
            public function 
    ShowModello()
            { 
            if(
    $_POST['Manufacturer'] == "no")
                {
                    die;
                }

                
    $sql "SELECT ModelNo FROM IT_Trade WHERE Manufacturer=$_POST[Manufacturer]";
                
    $res mysql_query($sql,$this->conn);
                    echo
    '<option value="no">Scegli...</option>';
                    while(
    $row mysql_fetch_array($res))
                    {
                        echo 
    '<option value="' $row['ID'] . '">' $row['ModelNo'] . $row['Trade_Price'] . '</option>';
                    }
            }
            public function 
    ShowResult()
            {
                if(
    $_POST['ID'] == "no")
                {
                    die;
                }
                echo 
    '

    Hai scelto il modello: '
    ;
                
    $sql "SELECT ModelNo,Trade_Price FROM IT_Trade WHERE id=$_POST[id]";
                
    $res mysql_query($sql,$this->conn);
                
    $row mysql_fetch_array($res);
                echo 
    $row['ModelNo'];

                
    //calcolo aumento prezzo al pubblico
    {
    $num1=20;
    $num2=100;
    {
    $x = (($num1 $num2)* $row['Trade_Price']);}
    {
    $y = ($row['Trade_Price'] + $x)+10; }
    //fine calcolo
    echo "  -  Euro: " round($y2)  . ""//visualizzazione risultato
    }
            }
    }
     
    ?>
    poi....RESULT.PHP e SELECTION.PHP

    Codice PHP:
    <?php
    include_once 'option.class.php';
    $obj = new Option();
    $obj->ShowResult();
    ?>
    --------------------------------
    Codice PHP:
    <?php
    include_once 'option.class.php';
    $obj = new Option();
    $obj->ShowModello();
    ?>

  10. #10
    Hai provato a stampare la variabile $sql presente nel metodo ShowModello()?
    Se non lo hai fatto prova a farlo ed eseguila in phpmyadmin e vedi cosa succede.
    CODENCODE \ Branding \ Design \ Marketing
    www.codencode.it

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.