gestire una tabella mysql

steve97

Utente Attivo
30 Mar 2017
53
0
6
salve a tutti, ho bisogno del vostro aiuto, non riesco a trovare una soluzione al mio problema, provero ad essere chiaro e esaustivo, detto cio vado al punto, sto facendo un sistema che raccoglie i dati degli utenti in particolari i gusti musicali. nella mia homepage ho i formulari di login e registrazione, poi ho due tabelle nel mio db
1. utenti(destinato a contenere i dati di registrazione) contiene 6 campi : id, nome, email, pw, data-iscrizione, token, attivo
2.raccolta contiene 4 campi: id, genere, quantita, data-pubblicazione

in teoria ogni utente nuovo puo pubblicare il suo genere musicale preferito, se il genere non esiste nella tabella raccolta, crea il nuovo registro. dunque il mio problema e che non so come fare a far si che utente nuovo che ha il gusto uguale a un altro utente gia iscritto lo sommasse con quello, senza creare un nuovo registro. posteriormente vorrei anche la capacita di restare se un utente decidesse di cambiare gusto per un altro.
PHP:
<?php



$nome = $_GET['nome']; /* prende il dato inviato dal utente ovvero il gusto musicale */
$data = date('Y-m-d H:i:s');
$conex = mysql_connect("localhost", "uname");
mysql_select_db("my_db", $conex);
$recupero = "SELECT nome FROM raccolta WHERE nome = '$nome'";
$result = mysql_query($recupero) or die (mysql_error());
if(mysql_num_rows($result) < 1) {
   $sql = "INSERT INTO raccolta(id, nome, quantita, data)
   VALUES (NULL, '$nome', '1', '$data')";
    mysql_query($sql) or die(mysql_error())
    echo "dati inseriti correttamente";   
}
?>
se il nuovo utente a un gusto musicale a quello di un altro utente vorrei che il campo quantita associato a quel gusto aumentasse.
 
Ultima modifica di un moderatore:

bubino8

Utente Attivo
28 Apr 2017
360
20
28
31
BZ
Ciao
Per quanto riguarda l'inserimento del genere musicale ogni utente potrebbe inserirlo a modo suo es.:( Classica o Musica Classica / Reggaeton o Reggae) senza contare gli errori di battitura (molto probabili), per questo ti consiglio di fare una select con tutti i generi di musica precedentemente inseriti da te. In alternativa fai inserire manualmente all'utente ma finche non approvi non è pubblico.

Per quanto riguarda l'incremento recuperi il valore "quantita" con una SELECT e fai +1.

Fammi sapere.
 

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.449
338
83
@steve97
Da regolamento del forum, come tutti noi sei tenuto ad usare il tag
code.gif
quando posti del codice, oppure la funzione codice dalla barra degli strumenti
box inserisci 2.png.JPG

Inoltre ti prego di leggere attentamente il regolamento generale del forum e quello di sezione dove posti
Grazie
Per questa volta te lo sistemo io ma mi raccomando per il futuro
 

steve97

Utente Attivo
30 Mar 2017
53
0
6
Ciao
Per quanto riguarda l'inserimento del genere musicale ogni utente potrebbe inserirlo a modo suo es.:( Classica o Musica Classica / Reggaeton o Reggae) senza contare gli errori di battitura (molto probabili), per questo ti consiglio di fare una select con tutti i generi di musica precedentemente inseriti da te. In alternativa fai inserire manualmente all'utente ma finche non approvi non è pubblico.

Per quanto riguarda l'incremento recuperi il valore "quantita" con una SELECT e fai +1.

Fammi sapere.
si ma come faccio a farlo, potresti farmi vederlo in codice, grazie
 

steve97

Utente Attivo
30 Mar 2017
53
0
6
@steve97
Da regolamento del forum, come tutti noi sei tenuto ad usare il tag Vedi l'allegato 4875 quando posti del codice, oppure la funzione codice dalla barra degli strumenti
Vedi l'allegato 4876
Inoltre ti prego di leggere attentamente il regolamento generale del forum e quello di sezione dove posti
Grazie
Per questa volta te lo sistemo io ma mi raccomando per il futuro
scusa ma non ho avevo trovato quel opzione, grazie comunque
 

bubino8

Utente Attivo
28 Apr 2017
360
20
28
31
BZ
Qualcosa del genere:
PHP:
<?php
    $DB_host = "localhost";
    $DB_user = "root";
    $DB_pass = "";
    $DB_name = "test";
    $conn = mysqli_connect($DB_host,$DB_user,$DB_pass,$DB_name) or mysqli_error();

    if(isset($_POST['id_genere'])){
        $id_genere = $_POST['id_genere'];
        $query_update = "UPDATE raccolta SET quantita=quantita+1 WHERE id='".$id_genere."'";
        $result = mysqli_query($conn, $query_update);
        if(!$result){
            echo "Errore non aggiornato!";
        }else{
            echo "Successo hai incrementato!";
        }
 
    }else{
    ?>
        <form method="post" action="#">
            <select name="id_genere">
                <option value="">Seleziona Genere Musica</option>
                <?php
                $query_generi ="SELECT * FROM raccolta";
                $risultato = mysqli_query($conn, $query_generi);
             
                foreach($risultato as $genere) {
                    echo '<option value="'.$genere["id"].'">'.$genere["nome"].'</option>';
                }
             
                ?>
            </select>
            <input type="submit" value="Invia" >
        </form>
        <?php
    }
    ?>

Fammi sapere
 

bubino8

Utente Attivo
28 Apr 2017
360
20
28
31
BZ
A ti consiglio di abbandonare mysql (ormai obsoleto) e utilizzare mysqli
 

steve97

Utente Attivo
30 Mar 2017
53
0
6
Qualcosa del genere:
PHP:
<?php
    $DB_host = "localhost";
    $DB_user = "root";
    $DB_pass = "";
    $DB_name = "test";
    $conn = mysqli_connect($DB_host,$DB_user,$DB_pass,$DB_name) or mysqli_error();

    if(isset($_POST['id_genere'])){
        $id_genere = $_POST['id_genere'];
        $query_update = "UPDATE raccolta SET quantita=quantita+1 WHERE id='".$id_genere."'";
        $result = mysqli_query($conn, $query_update);
        if(!$result){
            echo "Errore non aggiornato!";
        }else{
            echo "Successo hai incrementato!";
        }
 
    }else{
    ?>
        <form method="post" action="#">
            <select name="id_genere">
                <option value="">Seleziona Genere Musica</option>
                <?php
                $query_generi ="SELECT * FROM raccolta";
                $risultato = mysqli_query($conn, $query_generi);
          
                foreach($risultato as $genere) {
                    echo '<option value="'.$genere["id"].'">'.$genere["nome"].'</option>';
                }
          
                ?>
            </select>
            <input type="submit" value="Invia" >
        </form>
        <?php
    }
    ?>

Fammi sapere
scusa ma ho provato con +1 e non va, comunque generi musicali era solo un esempio, tu mi proponi di lasciarlo mettere il genere musicale nel form come un opzione ma non e propio quello che volevo, per questo caso e un ottima soluzione perche i generi musicali sono pochi, ma se si trattase di un altro tipo di dato, come per esempio, la squadra di calcio preferita, non vorrei mettere manualmente tutte le opzioni, ma vorrei che sia l'utente a farlo, non so se mi spiego, comunque ti lascio il mio codice cosi verifichi se ho fatto errori
disponibilita sta x quantita

PHP:
<?php

$nome = $_GET['nome'];
$data = date('Y-m-d H:i:s');


$conex = mysql_connect("localhost", "wardrivers");
mysql_select_db("my_wardrivers", $conex);


$recupero = "SELECT nome FROM raccolta WHERE nome = '$nome'";
$result = mysql_query($recupero) or die (mysql_error());
if(mysql_num_rows($result) < 1) {
   $sql = "INSERT INTO raccolta(id, nome, disponibilita, data)
   VALUES (NULL, '$nome', '1', '$data')";
    mysql_query($sql) or die(mysql_error());
    echo "dati inseriti correttamente";

 
}
elseif(mysql_num_rows($result)>1) {
 mysql_query("UPDATE raccolta SET disponibilita=disponibilita+1");
 echo "dati aggiornati";
}


?>
purtroppo non mi mostra nulla
 
Ultima modifica di un moderatore:

bubino8

Utente Attivo
28 Apr 2017
360
20
28
31
BZ
Questo è il tuo risistemato e come ti dicevo con mysqli:
PHP:
<?php
    $DB_host = "localhost";
    $DB_user = "wardrivers";
    $DB_pass = "TUA_PASSWORD";
    $DB_name = "my_wardrivers";
    $conn = mysqli_connect($DB_host,$DB_user,$DB_pass,$DB_name) or mysqli_error();

    if(isset($_GET['nome'])){
        $nome = $_GET['nome'];
        $data = date('Y-m-d H:i:s');

        $recupero = "SELECT nome FROM raccolta WHERE nome='".$nome."'";
        $result = mysqli_query($conn, $recupero) or die (mysqli_error());
        $quanti = mysqli_num_rows($result);
        if($quanti == 0) {
            $sql = "INSERT INTO raccolta (id, nome, disponibilita, data)VALUES (NULL, '$nome', '1', '$data')";
            mysqli_query($conn, $sql);
            echo "Nuova Genere Inserito Correttamente.";
        }
        elseif($quanti >= 1) {
            mysqli_query($conn, "UPDATE raccolta SET disponibilita=disponibilita+1 WHERE nome='".$nome."'");
            echo "Genere Già Presente ed Incrementato.";
        }else{
            echo "Errore, riprova o contatta l'amministratore.";
        }
    }else{
    ?>
        <form method="get" action="#">
            <input type="text" name="nome">
            <input type="submit" value="Invia" >
        </form>
        <?php
    }
?>


Per quanto riguarda la lista inizia a diventare complicato perchè se fai inserire all'utente manualmente come dicevo prima potrebbe esserci 20 volte la stessa cosa ma in modi scritti diversi e con errori di battitura.
Se mi viene in mente qualcosa ti faccio sapere.
 
  • Like
Reactions: steve97

steve97

Utente Attivo
30 Mar 2017
53
0
6
Questo è il tuo risistemato e come ti dicevo con mysqli:
PHP:
<?php
    $DB_host = "localhost";
    $DB_user = "wardrivers";
    $DB_pass = "TUA_PASSWORD";
    $DB_name = "my_wardrivers";
    $conn = mysqli_connect($DB_host,$DB_user,$DB_pass,$DB_name) or mysqli_error();

    if(isset($_GET['nome'])){
        $nome = $_GET['nome'];
        $data = date('Y-m-d H:i:s');

        $recupero = "SELECT nome FROM raccolta WHERE nome='".$nome."'";
        $result = mysqli_query($conn, $recupero) or die (mysqli_error());
        $quanti = mysqli_num_rows($result);
        if($quanti == 0) {
            $sql = "INSERT INTO raccolta (id, nome, disponibilita, data)VALUES (NULL, '$nome', '1', '$data')";
            mysqli_query($conn, $sql);
            echo "Nuova Genere Inserito Correttamente.";
        }
        elseif($quanti >= 1) {
            mysqli_query($conn, "UPDATE raccolta SET disponibilita=disponibilita+1 WHERE nome='".$nome."'");
            echo "Genere Già Presente ed Incrementato.";
        }else{
            echo "Errore, riprova o contatta l'amministratore.";
        }
    }else{
    ?>
        <form method="get" action="#">
            <input type="text" name="nome">
            <input type="submit" value="Invia" >
        </form>
        <?php
    }
?>


Per quanto riguarda la lista inizia a diventare complicato perchè se fai inserire all'utente manualmente come dicevo prima potrebbe esserci 20 volte la stessa cosa ma in modi scritti diversi e con errori di battitura.
Se mi viene in mente qualcosa ti faccio sapere.
la mia idea e di fare un sistema di prestiti tipo quello bibliotecario a livello nazionale, ma non so come continuare
 
Discussioni simili
Autore Titolo Forum Risposte Data
W [PHP] gestire una richiesta curl sul server PHP 0
R gestire il ritorno di una variabile con success Ajax 2
A [Javascript] [HTML] Gestire una pagina esterna con 2 iframe Javascript 4
mondrian Gestire un web server su una virtualbox Apache 12
L Gestire i risultati di una select Classic ASP 2
G Qualcuno conosce questo software per gestire le telecamere IP Cam e Videosorveglianza 0
E Come gestire al meglio le immagini legno grande formato Photoshop 0
L Interfaccia grafica per gestire sql server .NET Framework 1
R Plugin per Gestire videocorsi a pagamento WordPress 3
M Come gestire aggiornamenti e modifiche di sito live CMS (Content Management System) 0
S Gestire scelta dropdown con dati da Mysql PHP 2
Tommy03 Gestire dimensioni immagini PHP 4
D Come gestire un singolo checkbox PHP 10
MarcoGrazia Gestire lista campi vuoti in fase di autenticazione jQuery 1
elpirata Gestire permessi accesso alle pagine PHP 3
A [ASP.Net] Gestire il profilo ADMIN in un progetto ASP NET e pattern MVC ASP.NET 0
M [PHP] Come gestire gli utenti online PHP 9
M [php] Come gestire i tags PHP 1
svtmaster professionalità per gestire sito web Offerte e Richieste di Lavoro e/o Collaborazione 4
L [HTML] Gestire movimento GIF HTML e CSS 0
BestSellerMauroTop Software per gestire tanti profili e pagine, e farle crescere in modo autonomo! Annunci servizi di Social Media Marketing 0
W Gestire ccTalk o libreria c++ da php PHP 0
W Piccolo sistema per gestire alcune periferiche, Java o altro linguaggio? Java 8
bubino8 [WordPress] Gestire SSL (https://) da .htaccess WordPress 9
C [WordPress] Creare e gestire un nuovo sito web WordPress 5
M Gestire ErrorDocument 404 mantenendo lo stesso url Web Server 0
S Gestire Motion Detection TP-LINK CAMERA NC200 IP Cam e Videosorveglianza 0
webmachine [PHP] gestire rinnovi PHP 1
P Gestire accesso ad un file xml pubblico PHP 1
D Gestire diversi tipi di pagamento per tipologia di cliente E-Commerce 4
asevenx Cerco plugin per gestire appuntamenti con agenda e campi di selezione WordPress 4
matteoraggi Software per gestire migliaia di permament redirect? SEO e Posizionamento 0
K Gestire response con servlet remota Sviluppo app per Android 1
P Piccolo software per gestire gli utenti. Snippet PHP 5
F Gestire data e ora PHP 6
D Gestire firme digitali con PHP PHP 0
C [Facebook Autolike]Software per gestire più account, mandare like, creare stati, amicizie e altro.. Vendere e Acquistare pubblicita' online 0
D gestire commenti e risposte ... PHP 3
L Gestire password utenti registrati. Quale codifica? PHP 23
asevenx Gestire posizionamento voci sottomenu che si nascondono HTML e CSS 1
N Programma per gestire Cookies secondo disposizioni del Garante Privacy 3/6/2014 G.U. 126 Leggi, Normative e Fisco 0
A Gestire e modificare immagini Java 2
M Gestire la chiusura forzata. Sviluppo app per Android 1
L Sito con doppia lingua. Gestire il cambio PHP 4
felino Wordpress e QTranslate: come gestire i widget WordPress 11
IImanuII Gestire lingua su facebook con php PHP 18
L gestire array per radio-checkbox in ciclo while PHP 2
MarcoGrazia Gestire gruppi e categorie di link con PHP PHP 1
L Button per gestire JS in WebBrowser di VBNet .NET Framework 0
A gestire errori 400-401-403-404-500 con file htaccess PHP 0

Discussioni simili