Pagina 1 di 3

Query sql per tabella database

Inviato: 22/03/2015, 10:56
da arnold layne
Abbiamo una tabella con questo contenuto

post_id, user_id

(150376, 11740, 0, 0, 0),
(150376, 18485, 0, 0, 0),
(150376, 27994, 0, 0, 0),
(150376, 11563, 0, 0, 0),
(150376, 16857, 0, 0, 0),
(150377, 11115, 0, 0, 0),
(150377, 17900, 0, 0, 0),
(150377, 3844, 0, 0, 0),

(150377, 3844, 0, 0, 0),

esistono delle righe doppie

Codice: Seleziona tutto

(150377, 3844, 0, 0, 0),

(150377, 3844, 0, 0, 0),
qualche comando dovrei mettere per trovarle in modo da eliminare i doppioni?

Re: Query sql per tabella database

Inviato: 22/03/2015, 12:35
da Micogian
Dovresti risolvere con questo script.
Crea un file con questo contenuto, mettici prima la connessione al DB:

Codice: Seleziona tutto

$sql = @mysql_query("select post_id, user_id
    FROM tabella
    ORDER by post_id, user_id");
    $post_cor = '' ;
    $user_cor = '' ;
    while ($row = mysql_fetch_array($sql)) 
    {
        if($row['post_id'] == $post_cor && $row['user_id'] == $user_cor)
        {
        echo $row['post_id'] . " - " $row['user_id'] . "<br />";
        }
        $post_cor = $row['post_id'];
        $user_cor = $row['user_id'];
    } 
Dato che i recods sono in ordine di post_id e di useri_id, se il record corrente è uguale al precedente viene visualizzato, altrimenti no.
In pratica avrai l'elenco dei records doppi.

Re: Query sql per tabella database

Inviato: 22/03/2015, 13:13
da arnold layne
ci provo (non capisco cosa inserire connessione db direttamente da PHPMyAdmin) ma volevo farlo in locale sul file sql che è di 5Mb

Re: Query sql per tabella database

Inviato: 22/03/2015, 13:58
da Micogian
Quando si fa una query in un file php bisogna prima connettersi al DB.
ad esempio:

Codice: Seleziona tutto

if (!@mysql_connect("host","user","password")) exit('<p>Impossibile connettersi al server del database in questo momento.</p>');
if (!@mysql_select_db("DBname")) exit('<p>Impossibile connettersi al database in questo momento.</p>');

Re: Query sql per tabella database

Inviato: 22/03/2015, 14:08
da arnold layne
sono gia connesso al db, ma questa operazione desidero farla direttamente da PHpMyAdmin con una query o meglio ancora lavorando sul file sql della tabella thanks in formato txt cercando solamente i doppioni post_id, user_id

Re: Query sql per tabella database

Inviato: 22/03/2015, 14:39
da Micogian
Un semplicissimo file php e hai il risultato, prima la connessione e poi lo script.
Io non uso mai phpmyadmin per questo tipo di interrogazione, più semplice un file php.

Re: Query sql per tabella database

Inviato: 22/03/2015, 14:42
da arnold layne
Micogian ha scritto:Un semplicissimo file php e hai il risultato, prima la connessione e poi lo script.
me lo puoi scrivere completo quel file php evidenziando dove devo inserire i miei parametri? Grazie

Re: Query sql per tabella database

Inviato: 22/03/2015, 14:46
da Micogian
Cosa vuol dire prima la connessione poi lo script?
Che prima devi mettere le due righe che si connettono al DB ed è su queste che devi mettere i valori corretti (host, user, password, nome_tabella) e questi sono gli stessi dati che usi per antrare in phpmyadmin.
poi ci aggiungi la query, di una semplicità mostruosa.
Chiami il file pippo.php e richiami l'url http://tuosito/pippo.php

Re: Query sql per tabella database

Inviato: 22/03/2015, 14:53
da arnold layne
si, ma da sempre errore sintassi

if (!@mysql_connect("1.1.11.1","pippo_uno","abcde")) exit('<p>Impossibile connettersi al server del database in questo momento.</p>');
if (!@mysql_select_db("pippo_pippo")) exit('<p>Impossibile connettersi al database in questo momento.</p>');

$sql = @mysql_query("select post_id, user_id
FROM avphpbb_thanks
ORDER by post_id, user_id");
$post_cor = '' ;
$user_cor = '' ;
while ($row = mysql_fetch_array($sql))
{
if($row['post_id'] == $post_cor && $row['user_id'] == $user_cor)
{
echo $row['post_id'] . " - " $row['user_id'] . "<br />";
}
$post_cor = $row['post_id'];
$user_cor = $row['user_id'];
}

Re: Query sql per tabella database

Inviato: 22/03/2015, 16:03
da Micogian
manca un punto in questa riga, errore mio.

Codice: Seleziona tutto

echo $row['post_id'] . " - " .  $row['user_id'] . "<br />";