Visualizzazione dei risultati da 1 a 7 su 7

Discussione: date due tabelle ...

  1. #1
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    date due tabelle ...

    Vi ri-pongo due quesiti …

    1) Date due tabelle :

    settemiladati

    e …

    datidaverificare

    Vorrei :

    Identificare con apposito script .php eventuali records doppioni in

    settemiladati

    Ed eventuali records doppioni in

    datidaverificare

    E infine confrontare le due tabelle per trovare eventualii records doppioni tra queste.

    Chi mi saprebbe dare del codice appropriato?


    Grazie i n f i n i t e



    Tom

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,359
    select data, count(*) from tabella
    group by data
    having count(*) > 1

  3. #3
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    Grazie badaze ...

    Ma questo codice che mi hai postato è per risolvere la prima richiesta :quote:


    E per la seconda?

    Ovvero per confrontare i records di due tabelle settemiladati e datidaverificare e trovare eventuali records doppioni di quale codice php necessito?

    Grazie 1000



    tom

  4. #4
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    come risultato della query

    Originariamente inviato da badaze
    select data, count(*) from tabella
    group by data
    having count(*) > 1
    ottengo questo messaggio...
    che presumo significhi non vi è alcun record doppione...

    Warning: Supplied argument is not a valid MySQL result resource

    ma come posso evitare un simile antiestetico.. msg?

    grazie

    "Vero sapiente è colui che sa di non sapere" (Socrate)

  5. #5
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,359
    Caspita !!!! Posti un nuovo messaggio dopo 17 mesi !!!!
    VVoVe: VVoVe: VVoVe: VVoVe:

    Comunque non è che non ci sono più doppioni perche al limite la query ritorna una lista di record vuota.

    Posta il tuo codice.

  6. #6
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    ehehehh mi ero occupato di altre cosette finora :)

    Originariamente inviato da badaze
    Caspita !!!! Posti un nuovo messaggio dopo 17 mesi !!!!
    VVoVe: VVoVe: VVoVe: VVoVe:

    Comunque non è che non ci sono più doppioni perche al limite la query ritorna una lista di record vuota.

    Posta il tuo codice.


    $dati = mysql_query("SELECT primo,secondo,terzo,quarto,quinto,sesto,settimo,ot tavo,nono, count(*) from sistemaintegralea9numeri GROUP BY id having count(*) > 1");

    while ( $array = mysql_fetch_array($dati)) {

    $id=$array["id"];
    print "-".$id."-";
    exit;
    }
    print "
    "."in tabella sistemaintegrale9numeri non ci sono records uguali"."
    ";
    ?>

    Va bene cosi'? Non mi da nessun errore così...

    Un'altra cosa già che ci siamo...
    Questo script mi identifica solo records uguali con ordine dei campi fisso ... non records ugualli indipendentemente dall'ordine degli stessi valori in campi diversi vero?

    es...
    una comb del tipo
    1 2 3 4 5 6 7 8 9
    me la considera diversa rispetto ad una
    2 1 4 5 7 8 9 3 6 vero? nonostante i valori siano complessivamente uguali...

    A me ci vorrebbe qualkosa che non tenesse conto dell'ordine ma che mi verificasse una combinazione uguale ad un altra indipentemente da tutto...

    "Vero sapiente è colui che sa di non sapere" (Socrate)

  7. #7
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,359
    Quello che mi sembra strano è che abbia funzionato finora. In effetti fai un group by su un campo assente dalla query. Forse è questo che produce l'errore quando non ci sono più doppioni.
    Il più semplice sarebbe di fare il controllo prima dell'inserimento dei dati.
    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    
    <html>
    <head>
    <title>Untitled</title>
    <script language="JavaScript" type="text/javascript">
    <!--
    
    function svuota(aSelect) {
     //---------- Prima svuoto tutti valori tranne quello selezionato nella select selezionata
     value      = aSelect.value;
     numElement = aSelect.length;
     var i = 0;
     for (j=numElement-1;j>=0;j--) {
      curOption = aSelect.options(j);
      if (curOption.value != value) {
    	  aSelect.remove(j);
    	} // if (curOption.value != value) 
     } // for (j=numElement-1;j>=0;j--)
     //---------- adesso per ogni select rimuovo il valore scelto
     var k = 0;
     for (k=1;k<=9;k++) {
      comboName = "combo"+k;
      svuota2(aSelect,comboName);
     } // for (k=1;k<=9;k++)
    } // function svuota(unValore)
    
    function svuota2(aSelect,selectDaSvuotare) {
     if (aSelect.id == selectDaSvuotare) {
      return;
     } // if (aSelect.id == selectDaSvuotare)
     var objSelectDaSvuotare = document.getElementById(selectDaSvuotare);
     numElement = objSelectDaSvuotare.length;
     for (j=numElement-1;j>=0;j--) {
      curOption = objSelectDaSvuotare.options(j);
      if (curOption.value == aSelect.value) {
    	  objSelectDaSvuotare.remove(j);
    	} // if (curOption.value == aSelect.value)
     } // for (j=numElement-1;j>=0;j--)
    } // function svuota2(aSelect,selectDaSvuotare)
    
    //-->
    </script>
    
    </head>
    <body><?
    //---------------- Soltanto se il tasto il cui nome è sublit con il valore "invio" è stato cliccato
    if ($submit == "invio") {
     //--------------- controllo che un numero sia presente una volta sola
     //                inserendo i valori di ciascun combo in un array
     $arrControllo = array();
     for ($i=1;$i<=9;$i++) {
      $nameCombo      = "combo$i";
      $arrControllo[] = $$nameCombo;
     } // for ($i=1;$i<=9;$i++)
     //--------------- Adesso riordino l'array
     asort($arrControllo);
     //--------------- Adesso copio l'array in una stringa
     $lista = implode("", $arrControllo);
     //--------------- Se la lista è <> da 123456789 allora c'è un errore
     if ($lista != "123456789") {
      print "errore ";
     } else {
      print "nessun errore ";
     } //  if ($lista != "123456789") 
     print $lista; 
     exit;
    } // if ($submit == "invio") ?>
    
    <form action="test195.php" method="post"><? 
    //--------------- Inizio bufferizzazione per creare le 9 combo
    ob_start() ?>
    <select id="pippo" name="pippo" onchange="svuota(this)">
     <option value="1">1</option>
     <option value="2">2</option>
     <option value="3">3</option>
     <option value="4">4</option>
     <option value="5">5</option>
     <option value="6">6</option>
     <option value="7">7</option>
     <option value="8">8</option>
     <option value="9">9</option>
    </select><? 
    //--------------- Inserisco il codice bufferizzato nella variabile $a
    $a = ob_get_contents(); 
    ob_end_clean();?>
    
    <? 
    //--------------- Stampo a video le nove combo rimpiazzando l'id e il nome
    for ($i=1;$i<=9;$i++) {
     print str_replace("pippo","combo$i",$a)."\n";
    } // for ($i=1;$i<=9;$i++)
    ?>
    
    
    
    <input type="submit" value="reset" name="submit"><input type="submit" value="invio" name="submit">
    </form>
    </body>
    </html>

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.