Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Join per visualizzare menu

    ciao a tutti,
    mi sto avventurando in un progetto php x la prima volta e in una pagina che si compone. mi spiego:

    1. ho una pagina in cui estraggo i campi in questo modo
    2. nella tab A oltre ai classici campi ci sono due (menusx e menudx) popolati con i rispettivi id della tab B

    codice:
    include "incl.php";
    
    $mysqlc->query("SELECT * FROM tabA");
    
    		$result1 = mysql_fetch_array($mysqlc->result, MYSQL_ASSOC);
    ed è tutto ok

    3. arrivati nella colonna di sx vorrei che si visualizzasse il codice html del menu già caricato nella tabB e, tramite il suo id, nel campo "menusx" della tabA
    dovrebbe essere qualcosa tipo...
    Codice PHP:
                                    $mysqlc->query("SELECT * FROM tabB, tabA WHERE tabB.id=tabA.menusx");

                                    
    $result2 mysql_fetch_array($mysqlc->result2MYSQL_ASSOC);
    ?> 
    ma mi dà errore

    4. allora ho pensato alla JOIN ma non riesco a capire come svilupparla

    datemi dell'ignorante...lo sono,,,,, ma aiutatemi
    grazie...
    ---------------------------
    danielix05

  2. #2
    Ci puoi dare qualche informazione in più sull'errore?
    Non so quale classe tu stia usando, comunque prova a sostituire:
    Codice PHP:
    $result2 mysql_fetch_array($mysqlc->result2MYSQL_ASSOC); 
    con
    Codice PHP:
    $result2 mysql_fetch_array($mysqlc->resultMYSQL_ASSOC); 

  3. #3
    ciao loryzz,

    ho fatto come hai detto solo che mi stampa i risultati della prima query, in pratica non vedo il menu della tabB ma i campi della tabA.

    la struttura che sto dando alla pagina è questa


    PUNTO 1
    Codice PHP:
    <?php


    # LIBRERIA MYSQL

    include "inc.php";

    $mysqlc->query("SELECT * FROM tabA");

            
    $result1 mysql_fetch_array($mysqlc->resultMYSQL_ASSOC);


    ?>
    PUNTO 2 - inizio ad estrarre i risultati della tabA
    Codice PHP:
    <?php echo $result1['id']; ?>
    <?php 
    echo $result1['titolo']; ?>
    <?php 
    echo $result1['descrizione']; ?>
    PUNTO 3 - scelta e visualizzazione del menu nella tabB dove il campo "id_menusx" della tabA = campo "id" della tabB
    Codice PHP:
    <?php
                                    $mysqlc
    ->query("SELECT * FROM tabB, tabA WHERE tabB.id=tabA.menusx");

                                    
    $result2 mysql_fetch_array($mysqlc->resultMYSQL_ASSOC);
    ?>


    <?php echo $result1['codice-menu']; ?>
    l'errore è questo

    codice:
    mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /web/www/index.php
    ho provato a farmi stampare il campo "titolo" che si trova nella tabA e l'ha stampato


    ps= la classe non so come fare a dire di quale si tratti
    pss= ma in php le connessioni non bisogna chiuderle come in asp?
    ---------------------------
    danielix05

  4. #4
    PUNTO 3 - scelta e visualizzazione del menu nella tabB dove il campo "id_menusx" della tabA = campo "id" della tabB
    Ma allora sto campo si chiama id_menusx o menusx?

  5. #5
    scusa errore mio si chiama menusx
    avevo aggiunto id_ per far capire che si tratta di un campo in cui appare l'id della tabB
    ---------------------------
    danielix05

  6. #6
    Magari è un problema di campi duplicati, ad esempio per il campo "id". Prova con:
    Codice PHP:
    $mysqlc->query("SELECT tabA.id as id_tabA, tabB.* FROM tabB LEFT JOIN tabA ON tabB.id=tabA.menusx") or die("ERRORE: ".mysql_error()); 
    Altrimenti non saprei proprio cosa consigliarti..

  7. #7
    ho messo il tuo ultimo codice e mi esce scritto "ERRORE"


    grrrrrr


    ho anche provato questo
    Codice PHP:
      $mysqlc->query("SELECT menusx FROM tabA");
      
    $info mysql_fetch_array($mysqlc->resultMYSQL_ASSOC);

      if(empty(
    $info['menusx'])) $info['menusx'] = "menu_sx_home";
      
      
    $mysqlc->query("SELECT descrizione FROM tabB WHERE id='{$info['menusx']}';");
      
    $info mysql_fetch_array($mysqlc->resultMYSQL_ASSOC);
      echo 
    html_entity_decode($info['descrizione']); 
    ed è ok, mi stampa il menu di destra ma quando ricopio il codice nel menu di destra allora mi ristampa ancora il menu di sx.

    auuuuuuuu :master:
    ---------------------------
    danielix05

  8. #8

    nessuna idea?

    ---------------------------
    danielix05

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.