Visualizzazione dei risultati da 1 a 4 su 4

Discussione: problma query

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    7

    problma query

    allora sono un programmatore asp che da poco si è affacciato al mondo php

    oggi mentre lavoravo su un progetto mi sono trovato una situazione un po strana e non riesco a capire se sbaglio io qualcosa o realmente non si puo fare la situazione è questa

    faccio una query di tutti i dati presenti nella tabella e li stampo tuttti in questo caso su 3 righe alla interno di questo ciclo un while per l'esattezza

    verifico per ogni campo se sono presenti dei dati particolari riferiti a quella posizione in un altra tabella

    specifico subito che all inizio avevo usato il left join per evitare il problema ma essendo che nella tabella 2 esistono + righe per la stessa posizione poi mi sballa tutto e invece che dare 30 risultati come dovrebbe ne da per esempio 31


    vi faccio un esempio per spiegare meglio quello che volevo fare


    Codice PHP:
    <?php   $result $mysqli->query("SELECT * FROM mappa  order by id_mappa asc"MYSQLI_USE_RESULT);                             printf("<table border = 1 ><tr>"); $n 0;    while($row $result->fetch_row())  {                           if ($row['tipo'] == 0) {                             if ($n == 10 or $n == 20 or $n == 30) {                                 printf('</tr><tr><td bgcolor="#00CC33">');                                         } else {                                 printf(' <td bgcolor="#00CC33"> ');                                     }                                     printf('Nome %s 
    tipo: [b]capitale[/b] '
    $row['nome']);                         } elseif ($row['tipo'] == 1) {                             if ($n == 10 or $n == 20 or $n == 30) {                                 printf('</tr><tr><td bgcolor="#00CC66">');                                         } else {                                 printf(' <td bgcolor="#00CC66"> ');                                     }                                      printf('Nome %s 
    tipo: confine '
    $row['nome']);                         } elseif ($row['tipo'] == 2) {                              if ($n == 10 or $n == 20 or $n == 30) {                                 printf('</tr><tr><td bgcolor="#006600">');                                         } else {                                 printf(' <td bgcolor="#006600"> ');                                     }                                     printf('Nome %s 
    tipo: zona vuota  '
    $row['nome']);                         } elseif ($row['tipo'] == 3) {                              if ($n == 10 or $n == 20 or $n == 30) {                                 printf('</tr><tr><td bgcolor="#0033FF">');                                         } else {                                 printf(' <td bgcolor="#0033FF"> ');                                     }                                     printf('Nome %s 
    tipo: mare '
    $row['nome']);                          }   
    $posizione =  $row['id_mappa']                                                                                                               $result1 $mysqli->query("SELECT n_unita, FROM unita where sposta = 0 and posizione = ".$posizione.""MYSQLI_USE_RESULT);                              while($row1 $result1->fetch_row())                                  {                                                                  if ($row1[0] == 0) {                                                                                          printf('
     nessuna unita </td>'
    );                                                                                           } else {                                                                                                                                                                                                                                           printf('
    unita [url="posizione.php?id=%s"] %s [/url]</td>'
    $row['id_mappa'], $row1[0]);                                    }                                  }    $n $n+1;    }  $result->close();                             printf('</tr></table>');   ?>

    come vedete per ogni cella della tabella verifico che siano presenti dei volori in quella cella e che non siano in spostamento ma per quealche motivo la cosa non funziona sapreste aiutarmi?

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    7
    puroppo ho sbagliato e di vedeva uno schifo ^^
    riposto qui il codice


    Codice PHP:
    <?php


    $result 
    $mysqli->query("SELECT * FROM mappa  order by id_mappa asc"MYSQLI_USE_RESULT);
                                
    printf("<table border = 1 ><tr>");
    $n 0;



    while(
    $row $result->fetch_row())

    {


                            if (
    $row['tipo'] == 0) {
                                if (
    $n == 10 or $n == 20 or $n == 30) {
                                    
    printf('</tr><tr><td bgcolor="#00CC33">');
                                            } else {
                                    
    printf(' <td bgcolor="#00CC33"> ');
                                        }
                                        
    printf('Nome %s 
    tipo: [b]capitale[/b] '
    $row['nome']);
                            } elseif (
    $row['tipo'] == 1) {
                                if (
    $n == 10 or $n == 20 or $n == 30) {
                                    
    printf('</tr><tr><td bgcolor="#00CC66">');
                                            } else {
                                    
    printf(' <td bgcolor="#00CC66"> ');
                                        }

                                        
    printf('Nome %s 
    tipo: confine '
    $row['nome']);
                            } elseif (
    $row['tipo'] == 2) {

                                if (
    $n == 10 or $n == 20 or $n == 30) {
                                    
    printf('</tr><tr><td bgcolor="#006600">');
                                            } else {
                                    
    printf(' <td bgcolor="#006600"> ');
                                        }
                                        
    printf('Nome %s 
    tipo: zona vuota  '
    $row['nome']);
                            } elseif (
    $row['tipo'] == 3) {

                                if (
    $n == 10 or $n == 20 or $n == 30) {
                                    
    printf('</tr><tr><td bgcolor="#0033FF">');
                                            } else {
                                    
    printf(' <td bgcolor="#0033FF"> ');
                                        }
                                        
    printf('Nome %s 
    tipo: mare '
    $row['nome']);

                            }




                                
                                
    $posizione =  $row['id_mappa']                               
                            
    $result1 $mysqli->query("SELECT n_unita FROM unita where sposta = 0 and posizione = ".$posizione.""MYSQLI_USE_RESULT);
        
                            while(
    $row1 $result1->fetch_row())

                                    {    
                                
                                    if (
    $row1[0] == 0) {
                                
                                                                
    printf('
     nessuna unita </td>'
    );
                                
                                
                                    } else {
                                
                                

                                
                                
                                                            
                                                                
    printf('
    unita [url="posizione.php?id=%s"] %s [/url]</td>'
    $row['id_mappa'], $row1[0]);



                                    } 
                                    } 


    $n $n+1;



    }

    $result->close();
                                
    printf('</tr></table>');


    ?>

  3. #3
    avevo visto male il codice pensavo che non avevi valorizzato la $n

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    7
    purtroppo sono qui a darmi del pirla il motivo per cui alla fine non funzionava era questo nella prima query avevo inserito

    , MYSQLI_USE_RESULT

    togliendolo 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.