• User Attivo

    Richiamare dei dati

    Ciao a tutti, ho un problema in php, magari sta cosa non l'ho capita bene.
    pagina first.php
    [php]
    if(isset($_GET['sezione']))
    {
    $sezioni=$_GET['sezione'];
    switch($sezioni)
    {
    case'menu':include('menu.php');
    break;
    case'visualizza_menu':include('view_menu.php');
    break;
    case'articolo':include('articoli.php');
    break;
    case'modifica_menu':include('mod_menu.php');
    break;
    } }
    }
    [/php]La pagina mod_menu.php che vi presento adesso mi visualizza tutte le voci che sono nel menu
    [php]
    $id = isset($_GET['id']) ? $_GET['id'] : '';
    echo"<table border='0' cellpadding='0' cellspacing='0'>";
    echo"<tr>";
    echo"<td align='center' height='30'>
    <font size='1' face='Verdana, Arial, Helvetica, sans-serif'>
    <b> Lista delle voci che compongono il menu del sito</b></font>
    </td>";
    echo"<tr>";
    echo"<td> ";
    $query_1="SELECT * FROM tab_menu";
    $result_query_1=mysql_query($query_1)or die("errore nella query;".mysql_error());
    for($a = 0; $a < mysql_num_rows($result_query_1); $a++)
    {
    $elenco_1=mysql_fetch_array($result_query_1);
    echo"<table border='0' cellspacing='0' celpadding='0'>";
    echo"<tr>";
    echo"<td width='170'>
    <font size='1' face='Verdana, Arial, Helvetica, sans-serif'>
      $elenco_1[descrizione_menu]</font>
    </td>";
    echo"<td width='65' align='center'>
    <font size='1' face='Verdana, Arial, Helvetica, sans-serif'>
    <a href='first.php?sezione=modifica_menu?id=$elenco_1[id_menu]'>modifica</a></font>
    </td>";
    echo"<td width='65' align='center'>
    <font size='1' face='Verdana, Arial, Helvetica, sans-serif'>
    <a href=''>elimina</a></font>
    </td>";
    echo"</tr>";
    echo"</table>";
    }
    echo"</td>";
    echo"</tr>";
    echo"<tr>";
    echo"<td> </td>";
    echo"</tr>";
    echo"</table>";
    [/php]L'altra pagina è questa mod_menu.php cioè quella che dovrebbe permettermi di effettuare le modifiche
    [php]
    require 'Config.php';
    require 'Connect.php';
    $id = isset($_GET['id']) ? $_GET['id'] : '';
    $query_1="SELECT * FROM tab_menu WHERE id_menu='$id'";
    $result_query_1=mysql_query($query_1)or die("errore nella query;".mysql_error());
    $estratto=mysql_fetch_array($result_query_1, MYSQL_ASSOC);
    echo"
    <input type='text' name='txt_menu' size='45' style='font-size:9px; font-family:Verdana, Arial, Helvetica, sans-serif'
    value='$estratto[descrizione_menu]'>";
    [/php]Adesso vi spiego dove non riesco ad andare avanti.
    Nella pagina view_menu.php ho questa riga
    [php]
    <a href='first.php?sezione=modifica_menu'>modifica</a></font>
    [/php]Con questa riga mi appare mod_menu.php con niente all'interno, ed è giusto in quanto non gli ho passato nulla, adesso ho modificato il codice
    [php]
    <a href='first.php?sezione=modifica_menu?id=$elenco_1[id_menu]'>modifica</a></font>
    [/php]Facendo così passando il mouse sul link modifica mi appare l'id, ma quando clicco non si apre più mod_menu.php, e per dirvi la verità non so nemmeno se verrà riempita la text per la descrizione che si riferisce all'id.
    Dove sbaglio?

    grazie tante


  • User Attivo

    Ma $_GET, nella pagina mod_menu.php è istruito per prelevare un valore (id) diverso da quello passato all'url dalla pagina view_menu.php (id_menu).


  • User Attivo

    Secondo me potresti modificare così...
    [php]
    $rows = mysql_num_rows($result_query_1);
    for($a = 0; $a < $rows; $a++)
    {
    $myquery = mysql_query("SELECT FROM tab_menu WHERE id_menu = '$a'");
    while($elenco_1[$a]=mysql_fetch_array($myquery)){
    echo"<table border='0' cellspacing='0' celpadding='0'>";
    echo"<tr>";
    echo"<td width='170'>
    <font size='1' face='Verdana, Arial, Helvetica, sans-serif'>
      $elenco_1[$a][descrizione_menu]</font>
    </td>";
    echo"<td width='65' align='center'>
    <font size='1' face='Verdana, Arial, Helvetica, sans-serif'>
    <a href='first.php?sezione=modifica_menu?id=$elenco_1[$a][id_menu]'>modifica</a></font>
    </td>";
    echo"<td width='65' align='center'>
    <font size='1' face='Verdana, Arial, Helvetica, sans-serif'>
    <a href=''>elimina</a></font>
    </td>";
    echo"</tr>";
    echo"</table>";
    }
    }
    echo"</td>";
    echo"</tr>";
    echo"<tr>";
    echo"<td> </td>";
    echo"</tr>";
    echo"</table>"; [/php]


  • User Attivo

    [...]

    Ciao, ho provato a fare così
    [php]
    <a href='mod_menu.php?id=$elenco_1[id_menu]'>modifica</a></font>
    [/php]Funziona mi visualizza nella text la voce corrispondente all'id_menu, però non è quello che volevo in senso grafico, ti spiego: la pagina first.php che comprende il menu del pannello di controllo dovrebbe essere sempre visibile qualsiasi pagina venga richiamata.
    Allora ho provato così
    [php]
    <a href='first.php?sezione=modifica_menu?id=$elenco_1[id_menu]'>modifica</a>
    [/php]Mi appare il menu, ma non mod_menu.php.
    Dove può essere il problema nel link?
    Grazie per il tuo codice, senz'altro funziona pure, ma più che un copia ed incolla vorrei capire, altrimenti deve esserci sempre uno come te al mio fianco.

    Grazie da danny:gthi:

    ah dimenticavo quando richiamo la pagina mod_menu.php le voci che contengono l'apostrofo mi da un errore vi faccio un es.
    l'arnica nella text di mod_menu.php mi appare solo l (elle)
    dovrei usare htmlentities ma non so come posizionarlo, penso io

    grazie


  • User Attivo

    [php]
    for($a = 0; $a < $rows; $a++)
    {
    $myquery = mysql_query("SELECT FROM tab_menu WHERE id_menu = '$a'");
    while($elenco_1[$a]=mysql_fetch_array($myquery)){
    [/php]
    Ciao Danny
    Ecco il tuo errore: $elenco_1[$a]
    Il fatto è che non volevo creare troppa confusione nell'array, così ho fatto in modo che php creasse dei sottoarray con il nome dell'id
    Quindi, credo che per il tuo errorino basti modificare la stringa così:
    [PHP]<a href='mod_menu.php?id=$elenco_1[$a][id_menu]'>modifica</a></font>[/PHP]
    Sempre a disposizione!;)


  • User Attivo

    [..]

    Grazie tante, mica mi risponderesti anche per il secondo intoppo?

    Grazie di nuovo.


  • User Attivo

    Prego!
    Nella fretta mi ero dimenticato di risolvere il secondo intoppo...Ma non è mai tardi per rimediare:)...
    Ecco qui:
    [php]
    require 'Config.php';
    require 'Connect.php';
    $id = isset($_GET['id']) ? $_GET['id'] : '';
    $query_1="SELECT * FROM tab_menu WHERE id_menu='$id'";
    $result_query_1=mysql_query($query_1)or die("errore nella query;".mysql_error());
    $estratto=mysql_fetch_array($result_query_1, MYSQL_ASSOC);
    echo "<input type='text' name='txt_menu' size='45' style='font-size:9px; font-family:Verdana, Arial, Helvetica, sans-serif' value='".
    htmlentities($estratto['descrizione_menu'],ENT_QUOTES)."'>"; [/php]
    Ciao e alla prossima!!
    :):)