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

    Contare il numero di record

    Salve, dopo aver recuperato la lista delle categorie, voglio avere la possibilità di eliminare solo quelle che non contengono articoli.
    Ho fatto in questo modo, accanto al nome di ogni categoria ho inserito un link che passa alcune variabili alla pagina che elimina i record.
    Le variabili sono id e titolo:
    Codice PHP:
    while($array=mysql_fetch_array($dati)){
     echo 
    "<tr>\n";
     echo 
    "<td>$array[id_categorie]</td>\n";
     echo 
    "<td>$array[titolo]</td>\n";
     echo 
    "<td>$array[descrizione]</td>\n"
     echo 
    "<td><a href=\"elimina_categoria.php?id=$array[id_categorie]&titolo=$array[titolo]\">elimina</a></td>\n"
     echo 
    "</tr>\n";
     } 

    Questa è la pagina elimina_categoria.php:
    Codice PHP:
    //innanzitutto recupero id e titolo della categoria da eliminare
    $id $_GET["id"];
    $titolo=$_GET["titolo"];

    //Mi connetto al database
    include("../include/connessione.php");

    //Con questa query verifico se nella tabella "articoli" esiste qualche articolo che
    //appartiene alla categoria uguale a quella memorizzata nella variabile $titolo
    $dati=mysql_query("SELECT categorie FROM articoli WHERE categoria=$titolo");

    //conto le righe
    $row=mysql_num_rows($dati);

    //se il numero di righe è uguale a 0 elimino la categoria con id=$id
    if($row==0){
       
    mysql_query ("DELETE FROM categorie WHERE id_categorie=$id");
      echo 
    "Record $id eliminato
    "
    ;

    //Altrimenti mostro un messaggio
    }else{
       echo 
    "Impossibile eliminare la categoria in quanto contiene articoli";

    Tutto questo però non funziona, ho sbagliato il procedimento o c'è qualche errore???
    Grazie mille!!!!

  2. #2
    Viene visualizzato qualche errore o altro?
    Realizzazione Software, Siti Web ed E-commerce. Consulenza Software ed esperti open source ...
    Scopri i nostri servizi...

  3. #3
    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in ........

    e comunque mi elimina tutte le categorie, anche quelle contenenti articoli....

  4. #4
    Prova a stampare a video le query che fai per vedere se effettivamente corrispondono a quelle che vuoi...
    Realizzazione Software, Siti Web ed E-commerce. Consulenza Software ed esperti open source ...
    Scopri i nostri servizi...

  5. #5
    Già fatto, ho commentato le righe da if in poi e ho inserito appena sotto a:
    $row=mysql_num_rows($dati);
    l'istruzione
    echo $row;

    Ricevo sempre lo stesso errore

  6. #6
    Prova a vedere se effettivamente la variabile $titolo contiene qualcosa.
    Realizzazione Software, Siti Web ed E-commerce. Consulenza Software ed esperti open source ...
    Scopri i nostri servizi...

  7. #7
    Si che contiene qualcosa, lo si può vedare anche sulla barra degli indirizzi del browser
    http://localhost/prova/elimina_categ...olo=categoria1

  8. #8
    Questo lo visto, ma l'errore che hai si ha solitamente quando si passa un parametro non valido per l'argomento richiesto.
    Realizzazione Software, Siti Web ed E-commerce. Consulenza Software ed esperti open source ...
    Scopri i nostri servizi...

  9. #9
    Lo so, però id e titolo sono sicuramente 2 parametri validi, in quanto sono già stati recuperati dal db

  10. #10
    Utente di HTML.it L'avatar di zoseppe
    Registrato dal
    Jan 2005
    Messaggi
    306
    stampa a video la query...sarebbe anche il caso di mettere qualche segnalazione d'errore

    Codice PHP:
    //innanzitutto recupero id e titolo della categoria da eliminare
    $id $_GET["id"];
    $titolo=$_GET["titolo"];

    //Mi connetto al database
    include("../include/connessione.php");

    //Con questa query verifico se nella tabella "articoli" esiste qualche articolo che
    //appartiene alla categoria uguale a quella memorizzata nella variabile $titolo
    $dati=mysql_query("SELECT categorie FROM articoli WHERE categoria=$titolo");

    //conto le righe
    $row=mysql_num_rows($dati);

    echo
    "$row

    "


    //se il numero di righe è uguale a 0 elimino la categoria con id=$id
    if($row==0){
       
    $query="DELETE FROM categorie WHERE id_categorie=$id";
    echo 
    $query;   
    mysql_query ($query) or die mysql_error());

      echo 
    "Record $id eliminato
    "
    ;

    //Altrimenti mostro un messaggio
    }else{
       echo 
    "Impossibile eliminare la categoria in quanto contiene articoli";

    cosa stampa?

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.