Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    343

    legare l'utente all'annuncio

    Buongiorno a tutti chi mi puo' aiutare ?

    Sto facendo un sito per un mio cuginetto, ma quel rompi scatole non ha voluto una cos semplice ma come dirgli di no

    Allora arrivo al dunque ( non sono molto pratico di db relazionali join ) ma ci sono riuscito e ora il mio db mi associa la provincia la citta all'annuncio, ora io ho creato la stessa cosa per gli utenti ma non so come legarli in automatico, nel senso che se uno si registra sul sito puo' mettere il suo annuncio che finisce in un listato di annunci, ma io vorrei tenere traccia per ogni user dei suoi annunci potendogli dare cosi anche statistiche ecc...

    Secondo voi come posso fare ?!

    Inserimento annuncio: come potete notare ci sono due select per selezionare provincia e città, ma x l'utente mi sembra brutto aggiungere una select e la vorrei in automatico.

    Codice PHP:
    </head>
    <body>
    <?php

    require ("db_connect.php"); 

    if (isset(
    $_POST['descrizione'])): 
      
    // A new joke has been entered
      // using the form.

      
    $aid $_POST['aid'];
      
    $descrizione $_POST['descrizione'];
      
    $mq $_POST['mq'];
      
    $locali $_POST['locali'];
      
    $prezzo $_POST['prezzo'];
      
    $tipologia $_POST['tipologia'];
      
    $altro $_POST['altro'];
      
    $cats $_POST['cats'];

      if (
    $aid == '') {
        exit(
    '

    You must choose an author for this joke. Click "Back" and try again.</p>'
    );
      }

      
    $sql "INSERT INTO annunci SET
          descrizione='
    $descrizione',
          mq='
    $mq',
          locali='
    $locali',
          prezzo='
    $prezzo',
          tipologia='
    $tipologia',
          altro='
    $altro',
          annunciodate=CURDATE(),
          provinciaid='
    $aid'";
      if (@
    mysql_query($sql)) {
        echo 
    '

    New joke added</p>'
    ;
      } else {
        exit(
    '

    Error adding new joke: ' 
    mysql_error() . '</p>');
      }

      
    $jid mysql_insert_id();

      if (isset(
    $_POST['cats'])) {
        
    $cats $_POST['cats'];
      } else {
        
    $cats = array();
      }

      
    $numCats 0;
      foreach (
    $cats as $catID) {
        
    $sql "INSERT IGNORE INTO cittaprovinciauser
                SET annunciid=
    $jid, cittaid=$catID";
        
    $ok = @mysql_query($sql);
        if (
    $ok) {
          
    $numCats $numCats 1;
        } else {
          echo 
    "

    Error inserting joke into category 
    $catID: " .
              
    mysql_error() . '</p>';
        }
      }
    ?>



    Joke was added to <?php echo $numCats?> categories.</p>



    [url="<?php echo $_SERVER['PHP_SELF']; ?>"]Add another joke[/url]</p>


    [url="search.php"]Return to joke search[/url]</p>

    <?php
    else: // Allow the user to enter a new joke

      
    $authors = @mysql_query('SELECT id, name FROM provincia');
      if (!
    $authors) {
        exit(
    '

    Unable to obtain author list from the database.</p>'
    );
      }

      
    $cats = @mysql_query('SELECT id, citta FROM citta');
      if (!
    $cats) {
        exit(
    '

    Unable to obtain category list from the database.</p>'
    );
      }
    ?>

    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">


    Inserisci annuncio

    descrizione
    <textarea name="descrizione" rows="5" cols="45">
    </textarea></p>
    mq
    <textarea name="mq" rows="5" cols="45">
    </textarea></p>
    locali
    <textarea name="locali" rows="5" cols="45">
    </textarea></p>
    prezzo
    <textarea name="prezzo" rows="5" cols="45">
    </textarea></p>
    tipologia
    <textarea name="tipologia" rows="5" cols="45">
    </textarea></p>
    altro
    <textarea name="altro" rows="5" cols="45">
    </textarea></p>


    Provincia:
    <select name="aid" size="1">
      <option selected value="">Seleziona Provincia</option>
      <option value="">---------</option>
    <?php
      
    while ($author mysql_fetch_array($authors)) {
        
    $aid $author['id'];
        
    $aname htmlspecialchars($author['name']);
        echo 
    "<option value='$aid'>$aname</option>\n";
      }
    ?>
    </select></p>


    Citta':
    <select name="cid" size="1">
      <option selected value="">Seleziona Citta'</option>
      <option value="">---------</option>
    <?php
       
    while ($cat mysql_fetch_array($cats)) {
        
    $cid $cat['id'];
        
    $cname htmlspecialchars($cat['citta']);
        echo 
    "<option value='$cid'>$cname</option>\n";
      }
    ?>
    </select></p>



    </p>
    <input type="submit" value="SUBMIT" />
    </form>
    <?php endif; ?>
    </body>
    </html>

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    343
    struttura db



    [PHP]--
    -- Struttura della tabella `annunci`
    --

    CREATE TABLE IF NOT EXISTS `annunci` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `descrizione` longtext NOT NULL,
    `mq` varchar(255) NOT NULL,
    `locali` varchar(255) NOT NULL,
    `prezzo` varchar(255) NOT NULL,
    `tipologia` varchar(255) NOT NULL,
    `altro` varchar(255) NOT NULL,
    `annunciodate` date NOT NULL,
    `provinciaid` int(255) NOT NULL,
    PRIMARY KEY (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;

    --
    -- Dump dei dati per la tabella `annunci`
    --

    INSERT INTO `annunci` (`id`, `descrizione`, `mq`, `locali`, `prezzo`, `tipologia`, `altro`, `annunciodate`, `provincia

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    343
    Codice PHP:
    -- Struttura della tabella `citta`
    --

    CREATE TABLE IF NOT EXISTS `citta` (
      `
    idint(11NOT NULL AUTO_INCREMENT,
      `
    cittatext NOT NULL,
      
    PRIMARY KEY (`id`)
    ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=;

    --
    -- 
    Dump dei dati per la tabella `citta`
    --

    INSERT INTO `citta` (`id`, `citta`) VALUES
    (4'favara'); 

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    343
    provincia

    Codice PHP:
    --
    -- 
    Struttura della tabella `cittaprovinciauser`
    --

    CREATE TABLE IF NOT EXISTS `cittaprovinciauser` (
      `
    annunciidint(11NOT NULL,
      `
    cittaidint(11NOT NULL,
      `
    useridint(11NOT NULL,
      
    PRIMARY KEY (`annunciid`,`cittaid`,`userid`)
    ENGINE=MyISAM DEFAULT CHARSET=latin1;

    --
    -- 
    Dump dei dati per la tabella `cittaprovinciauser`
    --

    INSERT INTO `cittaprovinciauser` (`annunciid`, `cittaid`, `userid`) VALUES
    (240),
    (
    340); 

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    343
    provincia

    Codice PHP:
    -- Struttura della tabella `provincia`
    --

    CREATE TABLE IF NOT EXISTS `provincia` (
      `
    idint(11NOT NULL AUTO_INCREMENT,
      `
    nametext NOT NULL,
      
    PRIMARY KEY (`id`)
    ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=16 ;

    --
    -- 
    Dump dei dati per la tabella `provincia`
    --

    INSERT INTO `provincia` (`id`, `name`) VALUES
    (13'palermo'),
    (
    14'milano'),
    (
    15'bergamo'); 

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    343
    tabella user ( qui mi piacerebbe identificarlo con un codice cliente anche se l'annuncio è gratis )

    Codice PHP:
    -- Struttura della tabella `user`
    --

    CREATE TABLE IF NOT EXISTS `user` (
      `
    idint(11NOT NULL AUTO_INCREMENT,
      `
    nometext NOT NULL,
      `
    cognometext NOT NULL,
      `
    emailtext NOT NULL,
      `
    insegnatext NOT NULL,
      `
    tipologiatext NOT NULL,
      
    PRIMARY KEY (`id`)
    ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=;

    --
    -- 
    Dump dei dati per la tabella `user`
    --

    INSERT INTO `user` (`id`, `nome`, `cognome`, `email`, `insegna`, `tipologia`) VALUES
    (1'0''0''0''0''0'); 

  7. #7
    Nella tabella annunci puoi inserire una foreign key all'id dell'utente.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    343
    grazie mille per la risposta, ma come detto prima sto imparando ad usare le JOIN con le problematiche del caso.

    Potresti farmi un esempio ?

  9. #9
    devi avere un campo in comune tra le tabelle interessate all'operazione.



    FOREIGN KEY



  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    343
    sto leggendo l'articolo e rivedendo le mie tabelle ..

    Ma se non ho capito male dovrei rifare tutto ;(

    Non è possibile associare la tabella user come ho fatto per provincia e città ma tramite un'istruzione che lega il cod cliente ( potrebbe essere l'id ) ?

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.