Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: Select a salti

  1. #1

    Select a salti

    dovrei impostare un select a salti,cioé io ho una serie di id es da 1 a 15.
    vorrei prendere prima gli id
    1,6,11 e stamparli in un tabella
    poi 2,7,12 e stamparli in un tabella
    poi 3,8,13 ..
    poi 4,9,14 ..
    poi 5,10,15 ..

    in poche parole partendo da 1 dovrei prima prendere 1+5 e poi (1+5)+5
    poi con 2,poi 2+5 poi (2+5)+5 etc..
    come posso impostare sta query?

  2. #2
    Una cosa del genere:
    Codice PHP:
    for($i=1;$i<6;$i++)
    {
      
    $sql "SELECT * FROM tabella WHERE id = $base OR id=".$base+5." OR id =".$base+10;
    //invio query, lettura risultati stampa tabella


    ..salvo sviste sintattiche

  3. #3
    SELECT * FROM `tabella` WHERE id%5=0
    <?php echo ' Emiliano Gabrielli (aka AlberT) ',"\n",
    ' socio fondatore e membro del direttivo del GrUSP ',"\n",
    ' AlberT_at_SuperAlberT_it - www.SuperAlberT.it ',"\n",
    ' IRC: #php,#AES azzurra.com ',"\n",'ICQ: 158591185'; ?>

  4. #4
    Originariamente inviato da drAlberT
    SELECT * FROM `tabella` WHERE id%5=0
    cacchio... ne sai sempre una più del diavolo..

    vabbè... però con questa prende 5 10 e 15.. (ed eventuali multipli se ci sono) giusto? quindi deve variare lo 0 in ogni caso con un ciclo, o sbaglio? (oltre eventualmente a mettere un "tetto" per non andare oltre 15...)

  5. #5
    penso che la soluzione migliore per me sia
    quella di }gu|do[z]{®©..cmq ora provo un po..
    grazi mille ad entrambi

  6. #6
    Si credo che senza le stored procedure l'unica sia fare un ciclo che incrementi il numero base


    codice:
    SELECT 
      *
    FROM 
       `tabella`
    WHERE 
      id <= 15   
    HAVING 
       ((id - $i)%5)=0 
      AND 
       (id >=$i)
    <?php echo ' Emiliano Gabrielli (aka AlberT) ',"\n",
    ' socio fondatore e membro del direttivo del GrUSP ',"\n",
    ' AlberT_at_SuperAlberT_it - www.SuperAlberT.it ',"\n",
    ' IRC: #php,#AES azzurra.com ',"\n",'ICQ: 158591185'; ?>

  7. #7
    Originariamente inviato da drAlberT
    Si credo che senza le stored procedure l'unica sia fare un ciclo che incrementi il numero base


    codice:
    SELECT 
      *
    FROM 
       `tabella`
    WHERE 
      id <= 15   
    HAVING 
       ((id - $i)%5)=0 
      AND 
       (id >=$i)
    me la potresti spiegare?

  8. #8
    vabbé..alla fine ho risolto così
    codice:
    for ($g=1;$g<=5;$g++){
    for ($i=0;$i<=2;$i++){
    $id=$g+5*$i;
    $sql ="SELECT  casa,ospite FROM partite WHERE id='$id'";
    $rq = mysql_query($sql,$connessione);
    while ($i2 = mysql_fetch_array($rq)) {
    $casa = $i2['casa'];
    $ospite = $i2['ospite'];
    
    echo "$casa-$ospite
    
    ";
    }
    }}
    che ne dite?

  9. #9
    2 for annidati ???

    ma quello che ti serve ha complessità lineare .. perché fare 10 query invece di 2 ?

    Codice PHP:
    for ($i=1$i<=2; ++$i) {
         
    $query "SELECT * FROM `tabella` WHERE id <= 15 HAVING ((id - $i)%5)=0 AND (id >= $i)";
         
    // esegui query e fai altro

    <?php echo ' Emiliano Gabrielli (aka AlberT) ',"\n",
    ' socio fondatore e membro del direttivo del GrUSP ',"\n",
    ' AlberT_at_SuperAlberT_it - www.SuperAlberT.it ',"\n",
    ' IRC: #php,#AES azzurra.com ',"\n",'ICQ: 158591185'; ?>

  10. #10
    Originariamente inviato da drAlberT
    2 for annidati ???

    ma quello che ti serve ha complessità lineare .. perché fare 10 query invece di 2 ?

    Codice PHP:
    for ($i=1$i<=2; ++$i) {
         
    $query "SELECT * FROM `tabella` WHERE id <= 15 HAVING ((id - $i)%5)=0 AND (id >= $i)";
         
    // esegui query e fai altro

    ma 2 for annidati creano problemi?

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.