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

    Array multidimensionale per una lista

    Salve a tutti, avrei un piccolo problema da risolvere, dovrei organizzare una lista di risultati in base ad un peso. I risultati sono una serie di siti internet aventi ciascuno una serie di keywords.L'utente digita in un form una richiesta, tale richiesta viene processata e vengono interpretate le singole parole digitate dall'utente.
    Il peso relativo ad ogni sito internet è tanto maggiore quante più keywords uguali a quelle digitate dall'utente presenta.
    La mia idea sarebbe quella di costruire un array multidimensionale costituito dal nome e dal peso del sito.
    Secondo voi è un idea valida? Se si mi potreste dare qualche spunto per realizzarla?Per esempio per la costruzione dell'array.
    Se invece credete che sia stupida come idea avreste in mente qualcosa di migliore?
    Grazie a tutti per l'aiuto!!!
    Se incontrerai qualcuno persuaso di sapere tutto e di essere capace di fare tutto, non potrai sbagliare: costui è un imbecille.
    Confucio.

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    se ho capito... l'array lo costruisci in seguito alla richiesta dell'utente (dato che i "pesi" dipendono dall'input)... in questo caso potresti creare un array dove ogni chiave è il peso e ogni elemento è un array di dettagli dei siti, tipo:

    codice:
    $RISULTATO = array(
      100 => array(
        0 => array(
          'nomesito' => 'Nome del sito',
          'urlsito' => 'http://........',
          ...
        ),
        1 => array(
          'nomesito' => 'Nome del sito',
          'urlsito' => 'http://........',
          ...
        ),
        ...
      ),
      90 => array(
        0 => array(
          'nomesito' => 'Nome del sito',
          'urlsito' => 'http://........',
          ...
        ),
        ...
      ),
    );

  3. #3
    forse non ho capito bene,comunque io intendevo avere un array con tutti i siti ed un campo peso nell'array che incrementava se trovava un match nel campo keywords dei siti con la parola cercata.
    Grazie
    Se incontrerai qualcuno persuaso di sapere tutto e di essere capace di fare tutto, non potrai sbagliare: costui è un imbecille.
    Confucio.

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    non ho capito se ti è stato utile o no l'esempio... tu chiedevi se c'erano idee "migliori": puoi postare un esempio del TUO array? In base a quel che ho capito (ma potrei aver inteso male) quello che ti ho messo è una buona soluzione.

  5. #5
    il tuo esempio mi è stato utile perché mi ha dato sicuramente spunto, e sicuramente ti ringrazio per l'aiuto, io sto cercando di fare qualcosa così però

    codice:
    
    $sql60 = "SELECT id FROM parole WHERE nome='".$nome."' ";
    $result60= mysql_query($sql70, $db)or die("
    Failed query: $sql70\n
    \n" .mysql_error()); ;
    if(mysql_num_rows($result60)!=0){echo"parola trovata";
    $sql70 = "SELECT id,nome,descrizione FROM siti WHERE keywords LIKE '".%$nome%."' ";
    $result70= mysql_query($sql70, $db)or die("
    Failed query: $sql70\n
    \n" 
    if(mysql_num_rows($result70)!=0){
    while($record = mysql_fetch_array($result70)){ $nome=$record['nome'];
    $lenght = count($siti_pesati);
    $i=0;
    while($i<$lenght)
    {
    if($siti_pesati[$i][0]=="$nome") { $siti_pesati[$i][1]=$siti_pesati[$i][1]+1;}
    $i++;
    
    
    }
    
    
    $siti_pesati=array(array("$nome",1));
    }
    }

    non l'ho ancora provato l'ho scritto adesso poi vedo se ci sono errori, dici che potrebbe essere valido?
    Comunque grazie
    Se incontrerai qualcuno persuaso di sapere tutto e di essere capace di fare tutto, non potrai sbagliare: costui è un imbecille.
    Confucio.

  6. #6
    mi sono sbagliato l'ultima parte dovrebbe essere


    codice:
    if($siti_pesati[$i][0]=="$nome") { $siti_pesati[$i][1]=$siti_pesati[$i][1]+1;}else{$siti_pesati=array(array("$nome",1));}
    Se incontrerai qualcuno persuaso di sapere tutto e di essere capace di fare tutto, non potrai sbagliare: costui è un imbecille.
    Confucio.

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    può anche essere come dici... ma c'è qualcosa che non ti funziona?

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.