Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
PHP - alle prime armi col php 2 (la vendetta): rubrica
Forum - PHP - alle prime armi col php 2 (la vendetta): rubrica

Avatar
NickoMaiden (Normal User)
Pro


Messaggi: 115
Iscritto: 10/06/2009

Segnala al moderatore
Postato alle 1:25
Martedì, 01/06/2010
Questo topic è stato chiuso dal moderatore

stavo facendo esperimenti con la creazione di una semplice rubrica. ecco tutto il sorgente:

FILE RUBRICA.PHP
Codice sorgente - presumibilmente PHP

  1. <html>
  2. <body>
  3.  
  4. <form action="lawl.php" method="post">
  5.  
  6. Nome: <input type="text" name="nome" />
  7. <br>Cognome: <input type="text" name="cognome" />
  8. <br>Numero di tel: <input type="text" name="tel" />
  9. <input type="submit" value="Salva" />
  10. </form>
  11.  
  12. </body>
  13. </html>
  14.  
  15.  
  16.  
  17. <?php
  18.  
  19. include "stampa.php";
  20. include "connetti_db.php";
  21.  
  22. loggadb(NULL);
  23.  
  24. //elimina
  25.  
  26. $elimina=$_GET['canc'];
  27. if($elimina)
  28. {
  29. $DBdrop='DELETE FROM mio_database.rubrica WHERE rubrica.ID_RUB='.$elimina;
  30. $uhm=mysql_query($DBdrop);
  31. }
  32.  
  33.  
  34.  
  35. //fine elimina
  36.  
  37.  
  38.  
  39.  
  40. if($_POST["nome"]==NULL||$_POST["cognome"]==NULL||$_POST["tel"]==NULL)
  41.    {
  42.    echo("Tutti i campi sono obbligatori");
  43.    stampa();
  44.    loggadb("chiudi");
  45.    die();
  46.    }
  47. $nome=$_POST["nome"];
  48. $cognome=$_POST["cognome"];
  49. $tel=$_POST["tel"];
  50.  
  51.  
  52.  
  53. //lista query
  54. $DB_crea=  "
  55.                                 CREATE TABLE IF NOT EXISTS Rubrica
  56.                   (
  57.                                     ID_RUB int(10) AUTO_INCREMENT,
  58.                    nome char(50),
  59.                    cognome char(50) ,
  60.                    numero int(15),
  61.                                         PRIMARY KEY(ID_RUB)
  62.                   )
  63.                         ";
  64.  
  65.  
  66. $DB_aggiungi="
  67.                         INSERT INTO mio_database.rubrica (
  68.                         ID_RUB ,
  69.                         nome ,
  70.                         cognome ,
  71.                         numero
  72.                         )
  73. VALUES (
  74. NULL , '".$nome."','".$cognome."','".$tel."'
  75.                         )";
  76.                          
  77.                        
  78.                        
  79.  
  80.  
  81.  
  82. // creo una rubrica.
  83. $uhm=mysql_query($DB_crea);
  84.                                
  85.  
  86. $uhm=mysql_query($DB_aggiungi);
  87.  
  88.  
  89. stampa();
  90.  
  91. loggadb("chiudi");
  92.  
  93.  
  94. ?>



FILE connetti_db.php
Codice sorgente - presumibilmente Php

  1. <?php
  2.  
  3. function loggadb($azione)
  4. {
  5.  
  6.  
  7. //dati del database
  8. $host="localhost";
  9. $username="root";
  10. $password="";
  11. $nome_db="mio_database";
  12.  
  13. $link = mysql_connect($host,$username,$password)
  14.     or die('Impossibile connettersi al database!: ' . msql_error($link));
  15.  
  16. mysql_select_db($nome_db, $link)
  17.     or die('Database Non Trovato!');
  18.        
  19.  
  20.         if($azione=="chiudi")  
  21.         mysql_close($link);
  22.        
  23.         }
  24.        
  25. ?>



FILE stampa.php

Codice sorgente - presumibilmente Python

  1. <?php
  2.  
  3. //stampa!
  4.  
  5. function stampa()
  6. {
  7. $DBnome=mysql_query('SELECT nome FROM mio_database.rubrica');
  8. $DBcognome=mysql_query('SELECT cognome FROM mio_database.rubrica');
  9. $DBtel=mysql_query('SELECT numero FROM mio_database.rubrica');
  10. $DBid=mysql_query('SELECT ID_RUB FROM mio_database.rubrica');
  11.  
  12. $i=0;
  13.  
  14.  
  15. if(!mysql_num_rows($DBnome))
  16.  die();
  17.  
  18. echo('<table border="3">');
  19. echo('<tr> <td> NOME </td> <td>COGNOME</td> <td>TELEFONO</td> <td>ELIMINA</td> </tr>');
  20. while($i<mysql_num_rows($DBnome))
  21. {
  22. echo ('<tr> <td>');
  23. echo (mysql_result($DBnome, $i).$i);
  24. echo ('</td> <td>');
  25. echo (mysql_result($DBcognome, $i).$i);
  26. echo ('</td> <td>');
  27. echo (mysql_result($DBtel, $i).$i);
  28. echo ('</td> <td>');
  29. echo ('<a href="lawl.php?canc='.mysql_result($DBid, $i).'"><center>x'.$i.'</center></a>');
  30. echo ('</td> </tr>');
  31. $i++;
  32. }
  33. echo('</table>');
  34. }
  35. ?>




finchè inserisco campi tutto va bene, dal momento in cui cancello un campo succede il finimondo:
cancello i campi e va tutto bene finchè non ne inserisco uno nuovo!
dal momento che inserisco un nuovo campo si crea una confusione con la chiave primaria che crea problemi quando vado a cancellare un ulteriore campo, ad esempio voglio eliminare il 1° e invece mi elimina il 3°.
se avete tempo di provarlo 5 secondi capirete che è + facile capire il problema che spiegarlo. chi mi dice dove sbaglio?
grazie in anticipo :)

PM
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2308
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 8:53
Martedì, 01/06/2010
http://www.pierotofy.it/pages/extras/forum/9/3839-regolame ...

Riapri il topic inserendo il titolo adeguato al tuo problema
magari il più chiaro possibile :k:


https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM