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

    confrontare stringhe ed ordinarle

    Salve a tutti! Sono giorni che mi arrovello per trovare una soluzione senza riuscirci aiuto!!!

    Vorrei realizzare un sito dove si possano scambiare i doppioni delle figurine panini per l'album dei calciatori 2014/15.

    Tizio inserisce in un campo le figurine mancanti 1,4,5,7,8,9,10 e in un altro le figurine doppioni con lo stesso sistema . Per cui ad un certo punto avrei in una tabella del mio bravo db mysql una riga per ogni utente con un campo per le figurine mancanti e uno per le figurine doppioni

    vorrei creare un pannello nel sito dove ogni utente possa visualizzare un elenco degli altri utenti con ordine decrescente in base alle figurine mancanti, ossia, per primo vedrà quello che tra i suoi doppioni avrà il maggior numero di figurine a lui mancanti ... e così via per visualizzare per ultimi quelli che tra i loro doppioni non avranno figurine a lui mancanti.... Si può fare ?!?!?

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Prova questo.

    Codice PHP:
    <?php 
    //====================================================
    function compare($arr_dopponi,$arr_mancanti) {
     
    $ret_array  = array();
     
    $array_flip array_flip($arr_dopponi);
     
     foreach(
    $arr_mancanti as $key => $value) {
       if (isset(
    $array_flip[$value])) {
       
    $ret_array[] = $value;
      } 
    // if (isset($array_flip[$value])
     
    // foreach($arr_mancanti as $key => $value) 
     
     
    if (count($ret_array) == 0) {
      return 
    null;
     } else {
      
    asort($ret_array);
      return 
    $ret_array;
     } 
    // if (count($ret_array) == 0) 
    // function compare($dopponi,$mancanti) 
    //====================================================
    $tizio_doppioni '2,7,8,13,34,66,69,80,90,101,102';
    //$caio_mancanti  = '3,9,20,26,34,79,80,81,101';
    $caio_mancanti  '3,9,20,26,79,81';
    $a_doppioni explode(',',$tizio_doppioni);
    $a_mancanti explode(',',$caio_mancanti);
    $result     compare($a_doppioni,$a_mancanti);
    if (
    $result == null) {
     print 
    "Nulla da scambiare";
    } else {
     print 
    count($result)." figurine da scambiare<br/>";
     foreach(
    $result as $key => $value) {
      print 
    "- Figurina $value<br/>";
     } 
    //  foreach($result as $key => $value) 
    }
     
    ?>
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2014
    residenza
    Voltati
    Messaggi
    913
    con un DB così
    codice:
    Tabella users
    +----+------+
    | id | name  |
    +----+------+
    
    Tabella mancanti
    +------+-----+
    | user | fig |
    +------+-----+
    
    Tabella doppie
    +------+-----+
    | user | fig |
    +------+-----+
    Usa questa query
    codice:
    SELECT
        users.name AS user_name,
        c.u AS user_id,
        COUNT(c.u) AS n_figurine
    FROM
        users,
        (SELECT
            d.user AS u
        FROM
            doppie AS d,
            mancanti AS m
        WHERE
            m.fig=d.fig
            AND m.user=1
        ) AS c
    WHERE
        users.id=c.u
    GROUP BY c.u
    ORDER BY n_figurine DESC
    No

  4. #4
    Grazie ad entrambi per i suggerimenti. Ora provo

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.