• User

    ComboBox MySQL Php

    Salve, da giorni tento di capire dove sbaglio ma invano. Chiedo dunque a voi se potete darmi una dritta.

    Sto cercando di connettere un database ad un php per una combobox.
    Il problema è che non mi rileva nulla, come se non fosse connesso ma non mi da errori.

    Ora posto il codice.

    
    <!doctype html>
    
    
    <?php 
        
        define('DB_USER', 'root');
        define('DB_PASSWORD', '');
        define('DB_HOST', 'localhost');
        define('DB_NAME', 'formato');
        
        mysql_connect('DB_HOST', 'DB_USER', 'DB_PASSWORD')  or die('Impossibile connettersi' .mysql_error());
        mysql_select_db('DB_NAME');
        
        $borse = $_REQUEST['borse'];
        
        $query = "SELECT name FROM `borse_formato`";
        $res = mysql_query($query);
        
    ?>
    
    
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html" charset="utf-8"> 
    
    
    <title></title>
    
    
    <style type="text/css">
    @import url(css/style.css);
    </style>
    
    
    </head>
    
    
    <body>
        <div id="container_borse">
            <label>Formato:</label>
            <select name="borse">
                <option value="">Seleziona</option>
                    <?php
                        while($row = mysql_fetch_array($res)) {
                    ?>
                   <option value="<?php echo $row['name'] ?>"> <?php echo $row['name']; ?></option>
                
                    <?php    
                        }
                    ?>
            </select>
    
    

    Grazie per l'aiuti.


  • User

    [PHP]

    $connect = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD) or die('Impossibile connettersi' .mysql_error());
    mysql_select_db(DB_NAME, $connect);

    [/PHP]


  • User

    Non funziona ugualmente.
    Ho provato modificando la struttura, magari così l'errore è più semplice da individuare:

    **index.php
    **```

    <!doctype html>

    <?php
    include_once 'database_connection.php';
    connect();
    ?>

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html" charset="utf-8">

    <title>Preventivatore</title>

    <style type="text/css">
    @import url(css/style.css);
    </style>

    </head>

    <body>

    <div id="container">
    <div id="header">
    <div id="logo">
    </div>

        <div align="right">
            <div id="menu">
                <div id="nav">
                    <ul>
                        <li><a href="#">Home</a></li>
                        <li><a href="#">Store</a></li>
                        <li><a href="#">News</a></li>
                        <li><a href="#">Blog</a></li>
                        <li><a href="#">Azienda</a></li>
                        <li><a href="#">Collabora</a></li>
                        <li><a href="#">Contatti</a></li>
                    </ul>
                </div>
            </div>
        </div>
        
    </div>
    
    <div id="titolo">
        <div align="center">
            PREVENTIVO BUSTE
        </div>
    <div>
    
    <div id="titolo_borse">
        <div align="center">
            <label>BORSE</label>
           </div>
    </div>
    
    <div id="titolo_personalizzazione">
        <div align="center">
            <label>PERSONALIZZAZIONE</label>
           </div>
    </div>
    
    <div id="container_borse">
        <label>Formato:</label>
        <select name="borse_formato">
            <?php query_01() ?>
        </select>
            <?php close() ?>
    

    ...

    
    **database_connection.php
    
    
    **```
    
    <?php
        
        include_once 'database_information.php';
        
        function connection() {
            $connect = mysql_connect('DB_HOST', 'DB_USER', 'DB_PASSWORD') or die('Impossibile connettersi al server' .mysql_error());
            mysql_select_db('DB_NAME', $connect);
        }
        
        function close() {
            mysql_close();
        }
        
        function query_01() {
            $myData = mysql_query("SELECT * FROM borse_formato");
            
            while($record = mysql_fetch_array($myData)) {
                echo '<option value="' . $record['name'] . '">' . $record['name'] . '</option>';
            }
        }
        
    ?>
    
    

    Visualizzando l'index.php non cambia nulla, visualizzando il database_connection.php mi appare questo: ' . $record['name'] . ''; } } ?>
    Ho controllato più e più volte gli apici e le virgolette ma mi sembrano corrette... Dove sbaglio?

    Grazie per la risposta!


  • User

    Qualche consiglio?


  • Moderatore

    Ciao Trese,

    intanto prova così, ricorda di scrivere sempre un codice leggero e pulito come questo.

    [PHP]

    <!DOCTYPE HTML>
    <?php
    $mysqli = new mysqli("host","user","password","nomedb");
    $query = $mysqli->query("SELECT name FROM borse_formato");
    ?>
    <html>
    <head>
    <title></title>
    <style type="text/css">
    @import url(css/style.css);
    </style>
    </head>
    <body>
    <div id="container_borse">
    <label>Formato:</label>
    <select name="borse">
    <option value="" selected>Seleziona</option>
    <?php
    while($row = $query->fetch_row()) {
    ?>
    <option value="<?php echo $row[0]; ?>"> <?php echo $row[0]; ?></option>
    <?php
    }
    ?>
    </select>
    </div>
    </body>
    </html>
    [/PHP]

    Se imposti i parametri correttamente, ed hai i valori e non c'è nulla di sbagliato al di fuori del codice che hai postato deve funzionare.

    Se non và iniziamo i controlli ed identifichiamo il problema.


  • User

    Ti ringrazio per la risposta ma sembra comunque non funzionare. Ho notato che nell'index ora mi mostra, in alto a sinistra, questa parte di codice: query("SELECT name FROM borse_formato"); ?>

    Utilizzo la versione di prova di DreamWeaver e provo a simulare i colori del codice php.

    **index.php

    **```

    <!doctype html>

    <?php
    $mySqli = new mysqli("localhost", "root", "", "db_test");
    $query = $mysqli->query("SELECT name FROM borse_formato");
    ?>

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html" charset="utf-8">

    <title>Preventivatore</title>

    <style type="text/css">
    @import url(css/style.css);
    </style>

    </head>

    <body>

    <div id="container">
    <div id="header">
    <div id="logo">
    </div>

        <div align="right">
            <div id="menu">
                <div id="nav">
                    <ul>
                        <li><a href="#">Home</a></li>
                        <li><a href="#">Store</a></li>
                        <li><a href="#">News</a></li>
                        <li><a href="#">Blog</a></li>
                        <li><a href="#">Azienda</a></li>
                        <li><a href="#">Collabora</a></li>
                        <li><a href="#">Contatti</a></li>
                    </ul>
                </div>
            </div>
        </div>
        
    </div>
    
    <div id="titolo">
        <div align="center">
            PREVENTIVO BUSTE
        </div>
    <div>
    
    <div id="titolo_borse">
        <div align="center">
            <label>BORSE</label>
           </div>
    </div>
    
    <div id="titolo_personalizzazione">
        <div align="center">
            <label>PERSONALIZZAZIONE</label>
           </div>
    </div>
    
    <div id="container_borse">
        <label>Formato:</label>
        <select name="borse">
            <option value="" selected> Seleziona </option>
                <?php
                    while($row = $query->fetch_row()) {
                ?>
                <option value="<?php echo $row[0]; ?>"> <?php echo $row[0]; ?></option>
                <?php
                    }
                ?>
        </select>
    

    ...

    
    Volevo chiederti, a scopo informativo, la funzione di ->.
    
    Grazie per la disponibilità, se necessario posto delle immagini relative al database.

  • User

    Come posso mostrarvi l'immagine del database?


  • User

    Potete chiudere, ho risolto rifacendo il progetto in ASP.NET

    Grazie a tutti.