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

    PHP MySQL - Richiamare dati da 2 tabelle differenti

    Eccoci, sto per uscire pazzo.

    ho due pagine: "pag1.php" e "pag2.php" .

    2 tabelle MySQL: PIPPO e PLUTO con un campo di testo uguale "PAPERINO".

    in PAG1 mi compaiono le foto in ordine ID, cliccando sulle foto devo inviare a PAG2 le 2 variabili prese da 2 tabelle. Una è l'id di PIPPO e l'altra e il "PAPERINO" di "PLUTO" che è uguale a quello di "PIPPO" . (scusatemi ma sto proprio uscendo pazzo)

    invio la variabile da PAG1 a PAG2 in questo modo:
    Codice PHP:
    <a href="pag2.php?variabile=<?php echo $row_rsArt['id']; ?>&variabile2=<?php echo $row_rsNews['paperino']; ?></a>
    nella PAG1 ho 2 query:

    una crea l'impaginazione e mi ritorna gli id di PIPPO:
    Codice PHP:
    $query "SELECT * FROM PIPPO ORDER BY nome ASC LIMIT $prima_riga$righe_per_pagina"
    la seconda dovrebbe ricercare il campo "PAPERINO" di "PIPPO" che è uguale al "PAPERINO" di "PLUTO" come posso fare????

    Le variabili sono corrette!!! ma non riesco ad impostare la seconda query


    Help me Please

  2. #2
    Ok, cerco di spiegarmi meglio.

    Pagina1 è un catalogo, Pagina2 è la pagina del prodotto. (tutte e 2 fanno parte della tabella1)

    in Pagina2 voglio inserire un accessorio. (che fa parte della tabella2)

    la tabella1 e la tabella2 hanno un campo uguale "nome" ma non sono uguali.


    TABELLA1
    id
    nome
    categoria

    TABELLA2
    acc_id
    nome
    specifiche

    voglio che pagina2 mi visualizzi la pagina del prodotto e l'accessorio che può essere collegato.


    Come fare la query????

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    potresti spiegare invece che dati hai e quali vuoi ricavare anzichè parlare "a pagine"? tu sai l'id di tabella1 e vuoi i record di tabella2 il cui campo "nome" coincide con quello del primo record?

  4. #4
    Ok, è esatto.

    Voglio che al prodotto della tabella1, corrisponda l'accessorio della tabella 2 che abbia lo stesso nome.

    Grazie

  5. #5
    comunque io non so l'id.. perchè sarà una variabile!

    in pratica devo mandare 2 variabili a Pag2, con l'id della tabella1 e il nome corrispondente della tabella2.

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    SELECT * FROM tabella2 WHERE nome = (SELECT nome FROM tabella1 WHERE id=$id) supponendo che $id sia l'id della tabella 1 e che non ci siano duplicati

  7. #7
    provo subito

  8. #8
    Niente, mi porta questo errore:
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1

    posto i codici delle pagine perchè sto diventando pazzo:

    PAG1:
    Codice PHP:
    <?php include 'paginazione.php'$DB_host 'xxx'$DB_user 'xxx'$DB_password 'xxx'$DB_name 'xxxx'$righe_per_pagina 6$url_base "artisti.php"$pagine_vicine 5// ---------------------------------------------------------------- // C O N N E S S I O N E A L D A T A B A S E $link = mysql_connect($DB_host, $DB_user, $DB_password); if (!$link) { die ('Non riesco a connettermi: ' . mysql_error()); } $db_selected = mysql_select_db($DB_name, $link); if (!$db_selected) { die ("Errore nella selezione del database: " . mysql_error()); } // ---------------------------------------------------------------- // C A L C O L O D E L N U M E R O D I P A G I N E // ricavo il numero totale di record $query = "SELECT COUNT(*) FROM artisti"; $result = mysql_query($query); // record complessivi $tot_righe = mysql_result($result,0); // totale pagine $tot_pagine = ceil($tot_righe / $righe_per_pagina); // ---------------------------------------------------------------- // P A G I N A C O R R E N T E $pagina_corrente = isset($_GET['pag']) ? (int)$_GET['pag'] : 1; // se la pagina corrente è minore di 1 if($pagina_corrente < 1) { header('location: ' . $url_base); exit(); } // se la pagina corrente è maggiore dell'ultima pagina if($pagina_corrente > $tot_pagine) { header('location: ' . crea_url($url_base, $tot_pagine)); exit(); } // ---------------------------------------------------------------- // E S T R A Z I O N E D E I R E C O R D // calcolo la prima riga da estrarre con la query $prima_riga = ($pagina_corrente - 1) * $righe_per_pagina; $query = "SELECT * FROM artisti ORDER BY nome ASC LIMIT $prima_riga, $righe_per_pagina"; $result = mysql_query($query); if (!$result) { die("Errore nella query $query: " . mysql_error()); } $rsArt = array(); while ($row = mysql_fetch_assoc($result)) { $rsArt[] = $row; } // creazione dei link di paginazione $link_paginazione = paginazione($tot_pagine, $url_base, $pagina_corrente, $pagine_vicine); ?> <?php require_once('Connections/verba.php'); ?> <?php mysql_select_db($database_verba$verba); $query_rsNews "SELECT * FROM catalogo WHERE artista = (SELECT artista FROM artisti WHERE news_id=$news_id)"$rsNews mysql_query($query_rsNews$verba) or die(mysql_error()); $row_rsNews mysql_fetch_assoc($rsNews); $totalRows_rsNews mysql_num_rows($rsNews); ?>

    la variabile di pagina1 da inviare a pagina2:
    Codice PHP:
    [url="pagina2.php?artisti=<?php echo $row_rsArt['news_id']; ?>&catalogo=<?php echo $row_rsNews['artista']; ?>"][/url]


    la pagina 2 che ovrà ricevere le 2 variabili:
    Codice PHP:
    <?php require_once('Connections/verba.php'); ?> <?php $colname_rsArt "-1"; if (isset($_GET['artisti'])) { $colname_rsArt = (get_magic_quotes_gpc()) ? $_GET['artisti'] : addslashes($_GET['artisti']); } mysql_select_db($database_verba$verba); $query_rsArt sprintf("SELECT * FROM artisti WHERE news_id = %s"$colname_rsArt); $rsArt mysql_query($query_rsArt$verba) or die(mysql_error()); $row_rsArt mysql_fetch_assoc($rsArt); $totalRows_rsArt mysql_num_rows($rsArt); ?> <?php require_once('Connections/verba.php'); ?> <?php $colname_rsNews "-1"; if (isset($_GET['catalogo'])) { $colname_rsNews = (get_magic_quotes_gpc()) ? $_GET['catalogo'] : addslashes($_GET['catalogo']); } mysql_select_db($database_verba$verba); $query_rsNews sprintf("SELECT * FROM catalogo WHERE artista = %s"$colname_rsNews); $rsNews mysql_query($query_rsNews$verba) or die(mysql_error()); $row_rsNews mysql_fetch_assoc($rsNews); $totalRows_rsNews mysql_num_rows($rsNews); ?>

  9. #9
    Codice PHP:
    ...
    $query_rsNews "SELECT * FROM catalogo WHERE artista IN (SELECT artista FROM artisti WHERE news_id=$news_id)";
    ... 
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  10. #10
    Mi porta sempre lo stesso errore: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1

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.