Spaziatura Elenco

Ciao a tutti,  sono un nuovo utente, mi chiamo daniele e ho un quesito da porvi.

Ho un elenco estrapolato da una query tipo

a

a

a

a

b

b

b

b

c

c

c

c

 e così via.

Vorrei dividere con uno spazio dove finisce una lettera e inizia l'altra.

Potete aiutarmi?

inviato 9 anni fa
lele74
X 0 X

Quesito più sull'HTML che sul PHP...

Stai generando una pagina WEB o un file di testo? Nel promo caso potresti usare echo "<br>" per avere un "a capo", nel secondo invece degli echo "\n";

 :bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

Sto creando una pagina Web e la query che ho inserito nel PHP è "select * from autori order by cognome" e vorrei appunto inserire lo spazio quando finosco cognomi con la A e iniziano quelli con la B e così via.

Grazie per l'aiuto. :)

risposto 9 anni fa
lele74
X 0 X

Ok, adesso ho capito. Allora potresti memorizzare in una variabile la prima lettera del cognome e quando questa cambia mettere un echo '<br>';

$lettera = '';
while( $tmp ? mysql_fetch_array($query))
{
   if($tmp['cognome'] != $lettera)
   {
      $lettera = $tmp['cognome'];
      echo '<br>';
   }
   

   ...
}
risposto 9 anni fa
Gianni Tomasicchio
X 0 X

Grazie per l'aiuto, sono alle prime "righe" di codice e quindi credo che ti disturberò di nuovo.

;)

risposto 9 anni fa
lele74
X 0 X

Eccomi di nuovo.

queste sono le righe di codice che mi danno il risultato

$query = mysql_query("select * from autori order by cognome");

   $num_righe = mysql_num_rows($query);

Dove devo inserire le righe che mi hai postato.

risposto 9 anni fa
lele74
X 0 X

Questa è tutta la parte del codice:

if($Language=="en") print("<H1><FONT COLOR=#FF0000 ID=inizio>Authors</FONT></H1><BR>");

   else print("<H1><FONT COLOR=#FF0000 ID=inizio>Elenco Autori</FONT></H1><BR>");

   $query = mysql_query("select * from autori order by cognome");

   $num_righe = mysql_num_rows($query);

   for($i=0; $i<$num_righe; $i++)    {

      $link = mysql_result($query, $i, "cognome");

      print("<BR><A HREF=main.phtml?Language=".$Language."&Doc=0001&src=".ereg_replace(" ", "%20", $link).">".mysql_result($query, $i, "cognome")."  ".mysql_result($query, $i, "nome")."</A>");

   }

   if($Language=="en") print("<BR><BR><A HREF=#inizio>Go back</A>");

   else print("<BR><BR><A HREF=#inizio>Torna all'inizio</A>");

risposto 9 anni fa
lele74
X 0 X

Ancora ciao.

Ho capito il codice ma il risultato non è quello aspettato.

Continua a inserire uno spazio tra un cognome e l'altro invece che tra un blocco di lettere e l'altro.

 :buck:

risposto 9 anni fa
lele74
X 0 X

riporta il codice del ciclo while che usi per stampare i nomi

 :bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda