Visualizzazione risultati 1 fino 5 di 5

Discussione: [PHP/MySQL] Controllare l'esistenza di un determinato dato in due tabelle

  1. #1
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito [PHP/MySQL] Controllare l'esistenza di un determinato dato in due tabelle

    Salve,

    avrei la necessità di controllare se esiste un determinato dato in una delle 2 tabelle e a seconda di dove si trova mostrare un messaggio.

    Il codice che uso (e che non funziona) è il seguente:
    Codice PHP:
    <?php

    include($p.'includes/mysql.php');

    $var = $_POST['get'];

    $a1 = mysql_query("SELECT altro_dato FROM TAB WHERE dato = '$var'");

    $b1 = mysql_num_rows($a1);

    $c1 = mysql_query("SELECT altro_dato2 FROM TAB2 WHERE dato = '$var'");

    $d1 = mysql_num_rows($c1);

    $n = "0";

    if(
    $b1>$n){
    echo
    "Il dato si trova nella Tabella 1.";
    }elseif(
    $d1>$n){
    echo
    "Il dato si trova nella Tabella 2.";
    }else{
    echo
    "Il dato non si trova nelle tabelle 1 e 2.";
    }
    ?>
    Ciò che mi restituisce se stampo le variabili sono rispettivamente Resource ID #14 e Resource ID #3

    Come posso aggirare il problema e far funzionare il codice...?
    Ultima modifica di miki92 : 16-10-2008 alle ore 20.47.53 Motivo: Errore nelle variabili
    Apprezzi l'aiuto? Offrimi un caffè!

  2. #2
    programmazioned non è connesso Utente attivo
    Data registrazione
    25-03-2008
    Messaggi
    440

    Predefinito

    Controlla le assegnazioni delle variabili, ci sono due errori di logica uguali e abbastanza stupidi.
    Ciao!
    Ultima modifica di programmazioned : 16-10-2008 alle ore 20.11.14

  3. #3
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito

    Già scusa è un errore che ho fatto solo qui su AlterVista in locale le variabili sono quelle giuste. Ho corretto sopra il codice è stato un errore di scrittura...
    Apprezzi l'aiuto? Offrimi un caffè!

  4. #4
    Guest

    Predefinito

    Citazione Originalmente inviato da miki92 Visualizza messaggio
    Salve,

    avrei la necessità di controllare se esiste un determinato dato in una delle 2 tabelle e a seconda di dove si trova mostrare un messaggio.

    Il codice che uso (e che non funziona) è il seguente:
    Codice PHP:
    <?php

    include($p.'includes/mysql.php');

    $var = $_POST['get'];

    $a = mysql_query("SELECT altro_dato FROM TAB WHERE dato = '$var'");

    $b = mysql_num_rows($b);

    $c = mysql_query("SELECT altro_dato2 FROM TAB2 WHERE dato = '$var'");

    $d = mysql_num_rows($c);

    $n = "0";

    if(
    $d>$n){
    echo
    "Il dato si trova nella Tabella 1.";
    }elseif(
    $d>$n){
    echo
    "Il dato si trova nella Tabella 2.";
    }else{
    echo
    "Il dato non si trova nelle tabelle 1 e 2.";
    }
    ?>
    Ciò che mi restituisce se stampo le variabili sono rispettivamente Resource ID #14 e Resource ID #3

    Come posso aggirare il problema e far funzionare il codice...?
    Bhe qui:

    Codice PHP:
    $a = mysql_query("SELECT altro_dato FROM TAB WHERE dato = '$var'");

    $b = mysql_num_rows($b);
    dovresti mettere così:

    Codice PHP:
    $a = mysql_query("SELECT altro_dato FROM TAB WHERE dato = '$var'");

    $b = mysql_num_rows($a);
    Prova e dimmi se funziona così senno mi metto a rivedere meglio. La cosa strana è che l'altra variabile dovrebbe essere corretta.

    P.S. siguro che get non sia una parola chiave del php? Prova magari a cambiare il form di invio mettendo come name all'input un'altra cosa e a cambiare $_POST['get']; con $_POST['qualunquealtracosa'];

  5. #5
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito

    Citazione Originalmente inviato da Xenom89 Visualizza messaggio
    Bhe qui:

    Codice PHP:
    $a = mysql_query("SELECT altro_dato FROM TAB WHERE dato = '$var'");

    $b = mysql_num_rows($b);
    dovresti mettere così:

    Codice PHP:
    $a = mysql_query("SELECT altro_dato FROM TAB WHERE dato = '$var'");

    $b = mysql_num_rows($a);
    Prova e dimmi se funziona così senno mi metto a rivedere meglio. La cosa strana è che l'altra variabile dovrebbe essere corretta.

    P.S. siguro che get non sia una parola chiave del php? Prova magari a cambiare il form di invio mettendo come name all'input un'altra cosa e a cambiare $_POST['get']; con $_POST['qualunquealtracosa'];
    Scusa è solo un altro errore di scrittura ho corretto anche questo, in locale è tutto ok...ho controllato e ricontrollato...ora però il codice in locale e cosi:

    Codice PHP:
    <?php

    include($p.'includes/mysql.php');

    $var = $_POST['get'];

    $a1 = mysql_query("SELECT altro_dato FROM TAB WHERE dato = '$var'");

    $b1 = mysql_num_rows($a1);

    $c1 = mysql_query("SELECT altro_dato2 FROM TAB2 WHERE dato = '$var'");

    $d1 = mysql_num_rows($c1);

    $n = "0";

    if(
    $b1>$n){
    echo
    "Il dato si trova nella Tabella 1.";
    }elseif(
    $d1>$n){
    echo
    "Il dato si trova nella Tabella 2.";
    }else{
    echo
    "Il dato non si trova nelle tabelle 1 e 2.";
    }
    ?>
    Le variabili $a, $b, $c erano già occupate cosi ho aggiunto il numero uno...ora però mi restituisce (stampando le variabili):
    Resource ID#7 e Resource ID#2 eppure non ho modificato nulla nella tabella...bah...

    EDIT: Per la variabile $var ho cambiato ma nulla...
    Ultima modifica di miki92 : 16-10-2008 alle ore 20.48.37
    Apprezzi l'aiuto? Offrimi un caffè!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •