Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Come gestire migliaia di record?

    Ciao

    Mi sono appena registrato perchè ho un problema (quante volte l'avrete sentita? ). Da una pagina amministrativa mi trovo a gestire migliaia di record. Su ogni record posso operare 2 azioni: ok e ban. Qualcosa del genere:
    Codice PHP:
    <td>
    <
    a href=admincenter.php?id_char=".$sql_return["id_char"]."&action=ok>OK</a>
    </
    td>
    <
    td>
    <
    a href=admincenter.php?id_char=".$sql_return["id_char"]."&action=ban>BAN</a>
    </
    td
    Il problema è che, dovendo controllare velocemente "a mano" ogni record, è assolutamente improponibile dare l'azione record per record. Volevo risolvere inserendo un form. Esempio. Data questa lista di record:
    Mario
    Sara
    Fabio
    Marco
    Voglio dare OK a Mario e Sara e BAN a Fabio e Marco mediante radio o tickbox e quindi, premendo una sola volta il pulsante submit, sistemare i 4 record senza "violentare" il database con una nuova query.

    Idee?

  2. #2
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,658
    crea un form
    dove metti due chekbox differenti e passi i valori alla query

  3. #3
    Grazie per la risposta.

    Si ma vedi al radio oltre al valore ok/ban devo associare l'id del record
    1 Mario OK
    2 Sara OK
    3 Fabio BAN
    4 Marco BAN
    L'OK è solo degli id 1 e 2. Come posso conferire questo valore tramite il radio? L'unica cosa che mi viene in mente è questa
    Codice PHP:
    <input type=radio value=".$sql_return["id"]."ok
    In pratica annido i valori 1ok, 2ok, 3ban, 4ban nel post. Con php mi separo i 2 valori ma questa soluzione oltre a non piacermi non so come spostarla nella query visto che non avrei più a che fare con un array.

  4. #4
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,658
    forse qualcosa mi sfugge...

    codice:
     
    <input type="radio" value=".$sql_return["id"]."  name="ok">
    <input type="radio" value=".$sql_return["id"]."  name="ban">
    e poi filtri per id e name

  5. #5
    non usavo da mesi i radio (è un'attenuante? )
    mi ero completamente dimenticato di name
    grazie per avermi ricordato l'abc

  6. #6
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,658
    Originariamente inviato da Kian987
    non usavo da mesi i radio (è un'attenuante? )
    mi ero completamente dimenticato di name
    comprensibile: ci si dimentica di tutto



    grazie per avermi ricordato l'abc
    dai... me la sono cavata con poco
    'notte

  7. #7
    Originariamente inviato da Vincent.Zeno
    forse qualcosa mi sfugge...

    codice:
     
    <input type="radio" value=".$sql_return["id"]."  name="ok">
    <input type="radio" value=".$sql_return["id"]."  name="ban">
    e poi filtri per id e name
    Se avete già risolto bene, altrimenti questo passaggio mi lascia un po' perplesso.

    Il codice sopra non verrebbe ripetuto x ogni record ? se si, il name "ok" o "ban" dovrebbe accettare UN solo valore per tutto il form in questione e non una serie di valori come invece è permesso per checkbox. Mi spiegate come farebbe il radiobox a tenere quindi traccia di cancellazioni multiple ?

    Almeno io ho capito che la richiesta di Kian987 fosse questa...

  8. #8
    Confermo che la soluzione proposta anche se funziona fa dei check non efficienti
    Codice PHP:
    <input type=radio value=\"1\" name=\"id[".$sql_return["id_char"]."]\" $def_ok>
    <input type=radio value=\"-1\" name=\"id["
    .$sql_return["id_char"]."]\" $def_ban></td>

                
    $array = $_POST["id"];
                
    $array_val = $_POST["$array"];

    foreach (
    $array as $chiave => $array_val) {

    mysql_query("
    UPDATE ".PREFIX."bestclass SET ban='$array_val'report='0' 
                 
    WHERE id_char='$chiave' ") or die(mysql_error());
                              
            } 
    Nell'esempio pratico poniamo 5 record ciascuno con i suoi 2 radio

    Marco YES/NO
    Fabio YES/NO
    Sara YES/NO
    Luigi YES/NO
    Paolo YES/NO

    Adesso vado a selezionare un radio per ogni record

    Marco YES
    Fabio YES
    Sara NO
    Luigi NO
    Paolo NO

    Come risultato avrò un array di 25 variabili e nel database la query scrive lo stesso risultato 5 volte.

  9. #9
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,658
    è un problema di logica e di query:
    sposto su php



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 © 2024 vBulletin Solutions, Inc. All rights reserved.