Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: include e combo

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    555

    include e combo

    Salve in una classe ho questa funzione
    function combo($Parametro0="Tutti",$Parametro1="IDMag",$Par ametro2="Descr_Mag",$AltraDscr="")
    $this->Parametro0 = $Parametro0 ;
    $this->res = "<option value=\"$this->Parametro0\">$this->Parametro0</option>";
    while($this->db[combo] = mysql_fetch_array($this->db[Risultato],$this->db[Connessione])){
    $this->Parametro1 = $this->db[combo][$Parametro1] ;
    $this->Parametro2 = $this->db[combo][$Parametro2] ;
    $this->AltraDscr = $this->db[combo][$AltraDscr] ;
    $this->res .= "<option value=\"$this->Parametro1\">$this->AltraDscr - - - $this->Parametro2</option>";
    }
    return $this->res."
    " ;}
    richiamando il metodo mi popola una combo dal db.
    La cosa strana è che se includo due pagine funziona, se ne includo 3 non funziona, qualsiasi sia la terza pagina che includo. Sembrerebbe che se includo un numero di pagine dispari non mi popola la combo, non prendetemi per pazzo.

    php 5.04

    grazie

  2. #2
    Il codice che hai postato non fa include.
    Non credo dipenda da quel pezzo di codice.
    Dovresti postarci più codice, bisogna vedere cosa includi.

    Lungo le due rive del fiume gelato si stendeva la cupa e tetra foresta di abeti, dai quali il vento aveva appena spazzato il manto di brina. Nella luce crepuscolare quegli abeti neri e sinistri sembravano inclinarsi l'uno verso l'altro. Un silenzio minaccioso incombeva sul paesaggio, privo di qualsiasi segno di vita o di movimento, e desolato e freddo al punto da non poter ispirare che un solo sentimento: quello della più triste malinconia. E nello stesso tempo pareva che da quel paesaggio trapelasse una specie di riso, un riso ben più spaventoso di qualsiasi malinconia o tristezza, un riso tragico, come quello di una sfinge, un riso agghiacciante più della brina e che rammendava l'incombere minaccioso dell'ineluttabile. Era la saggezza potente e impenetrabile dell'eternità che irrideva alla vita, alla sua futilità e agli sforzi degli uomini.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    555
    Il metodo della classe funziona.
    Se nella pagina che richiama il metodo includo per esempio tre pagine non mi visualizza più i record presi dal db. Se includo 4 pagine invece. E' strano e non riesco a capirlo, comunque posterò il codice.

    Grazie per la risposta

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    555
    Posto il codice
    nella prima parte i vari include, nella seconda il metodo della class.
    Funziona tutto se tolgo il terzo include oppure se aggiungo un quarto include, e non ci sto capendo proprio niente io.

    <?php
    include("../config_inc.php") ;
    include("../Lib/class_db.php") ;
    include("varaccesso.php") ;

    /*variabili per costanti*/
    $nometabprodotti = const_tbprodotti ;
    $nometabtipoprod = const_tbtipoprod ;


    $db = new db_con ;
    $db->connetti() ;
    $db->setstatoatt("true") ;
    $db->nomedb() ;

    $sql = $db->query1("select * from $nometabtipoprod

    ") ;

    $h = $db->combo("Tutti","tb_tipoprod_id","tb_tipoprod_descr ","tb_tipoprod_id") ;


    $db->disconnetti() ;
    $db->setstatoatt("false") ;

    ?>
    <html>
    <head>
    <title>Documento senza titolo</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>

    <body>
    <form name="form1" action="../Pan/prodotti.php" method="post">
    <select name="cmb_elencotipoprod">
    <?php print $h ; ?>

    </select>

    <input type="submit" name="invia" value="invia">
    </form>
    <form action="../Pan/prodotti_filtr.php" method="post">
    <input name="ricerca" type="text" value="">
    <input name="ric" type="submit" value="ric">
    </form>
    </body>
    </html>

    /*combo per record dal db query*/
    function combo($Parametro0="Tutti",$Parametro1="IDMag",$Par ametro2="Descr_Mag",$AltraDscr=""){
    $this->Parametro1 = $Parametro1 ;
    //tutti sulla combo
    $this->Parametro0 = $Parametro0 ;
    $this->res = "<option value=\"$this->Parametro0\">$this->Parametro0</option>";
    //record combo dal db
    while($this->db[combo] = mysql_fetch_array($this->db[Risultato],$this->db[Connessione])){
    $this->Parametro1 = $this->db[combo][$Parametro1] ;
    $this->Parametro2 = $this->db[combo][$Parametro2] ;
    $this->AltraDscr = $this->db[combo][$AltraDscr] ;
    $this->res .= "<option value=\"$this->Parametro1\">$this->AltraDscr - - - $this->Parametro2</option>";
    }
    return $this->res."
    " ;
    }/*chiusura metodo query*/

  5. #5
    Hai abilitato l'output di Tutti gli errori?

    Codice PHP:
    error_reporting(E_ALL); 
    Non è che parte qualche errore che blocca lo script e non te ne rendi conto?
    Cosa non funziona quando includi il terzo script?

    Lungo le due rive del fiume gelato si stendeva la cupa e tetra foresta di abeti, dai quali il vento aveva appena spazzato il manto di brina. Nella luce crepuscolare quegli abeti neri e sinistri sembravano inclinarsi l'uno verso l'altro. Un silenzio minaccioso incombeva sul paesaggio, privo di qualsiasi segno di vita o di movimento, e desolato e freddo al punto da non poter ispirare che un solo sentimento: quello della più triste malinconia. E nello stesso tempo pareva che da quel paesaggio trapelasse una specie di riso, un riso ben più spaventoso di qualsiasi malinconia o tristezza, un riso tragico, come quello di una sfinge, un riso agghiacciante più della brina e che rammendava l'incombere minaccioso dell'ineluttabile. Era la saggezza potente e impenetrabile dell'eternità che irrideva alla vita, alla sua futilità e agli sforzi degli uomini.

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    555
    Quando includo il terzo script

    questa riga del metodo

    this->res .= "<option value=\"$this->Parametro1\">$this->AltraDscr - - - $this->Parametro2</option>";


    visualizza solo i trattini senza prendere i valori di $this->Parametro1\">$this->AltraDscr - - - $this->Parametro2

    solo i trattini evidenziati adessi in rosso

    grazie
    per l'interessamento.

    controllo anche il valore che mi hai detto

  7. #7
    quindi io modificherei temporaneamente il ciclo while così:

    Codice PHP:
     while($this->db[combo] = mysql_fetch_array($this->db[Risultato],$this->db[Connessione])){

      
    print_r($this->db['combo']);
      echo 
    $Parametro1"--"$Parametro2"
    "
    ;

      
    $this->Parametro1 $this->db[combo][$Parametro1] ;
      
    $this->Parametro2 $this->db[combo][$Parametro2] ;
      
    $this->AltraDscr $this->db[combo][$AltraDscr] ;
       
    $this->res .= "<option value=\"$this->Parametro1\">$this->AltraDscr - - -        $this->Parametro2</option>";

    In modo da controllare come viene impostato $this->db['combo'] e verificare che Parametro1 e 2 siano correttamente impostati.

    Lungo le due rive del fiume gelato si stendeva la cupa e tetra foresta di abeti, dai quali il vento aveva appena spazzato il manto di brina. Nella luce crepuscolare quegli abeti neri e sinistri sembravano inclinarsi l'uno verso l'altro. Un silenzio minaccioso incombeva sul paesaggio, privo di qualsiasi segno di vita o di movimento, e desolato e freddo al punto da non poter ispirare che un solo sentimento: quello della più triste malinconia. E nello stesso tempo pareva che da quel paesaggio trapelasse una specie di riso, un riso ben più spaventoso di qualsiasi malinconia o tristezza, un riso tragico, come quello di una sfinge, un riso agghiacciante più della brina e che rammendava l'incombere minaccioso dell'ineluttabile. Era la saggezza potente e impenetrabile dell'eternità che irrideva alla vita, alla sua futilità e agli sforzi degli uomini.

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    555
    Se includo il terzo script, qualsiasi sia ecco l'output
    Array ( [0] => 1 [1] => Software ) tb_tipoprod_id--tb_tipoprod_descr
    Array ( [0] => 2 [1] => Hardware ) tb_tipoprod_id--tb_tipoprod_descr

    Tutti
    - - -
    - - -


    Se includo un quarto script qualsiasi
    Array ( [0] => 1 [tb_tipoprod_id] => 1 [1] => Software [tb_tipoprod_descr] => Software ) tb_tipoprod_id--tb_tipoprod_descr
    Array ( [0] => 2 [tb_tipoprod_id] => 2 [1] => Hardware [tb_tipoprod_descr] => Hardware ) tb_tipoprod_id--tb_tipoprod_descr

    Tutti
    1 - - - Software
    2 - - - Hardware

  9. #9
    Come vedi se includi il terzo file

    $this->db['combo']

    non riceve da mysql_fetch_array gli indici che cerchi di aprire, cioè [tb_tipoprod_descr] e [tb_tipoprod_id].
    Se non sono impostati ovviamente vengono convertiti in una stringa vuota quando tenti di aggiungerli alla stringa principale.

    Devi capire perchè la query crea questa differenza quando ritorna il result.

    Lungo le due rive del fiume gelato si stendeva la cupa e tetra foresta di abeti, dai quali il vento aveva appena spazzato il manto di brina. Nella luce crepuscolare quegli abeti neri e sinistri sembravano inclinarsi l'uno verso l'altro. Un silenzio minaccioso incombeva sul paesaggio, privo di qualsiasi segno di vita o di movimento, e desolato e freddo al punto da non poter ispirare che un solo sentimento: quello della più triste malinconia. E nello stesso tempo pareva che da quel paesaggio trapelasse una specie di riso, un riso ben più spaventoso di qualsiasi malinconia o tristezza, un riso tragico, come quello di una sfinge, un riso agghiacciante più della brina e che rammendava l'incombere minaccioso dell'ineluttabile. Era la saggezza potente e impenetrabile dell'eternità che irrideva alla vita, alla sua futilità e agli sforzi degli uomini.

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    555
    Ok, sarà dura sicuramente.

    grazie


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.