ordinare in una tabella risultati query

Monital

Utente Attivo
15 Apr 2009
778
2
18
Salve a tutti e buone feste inanzitutto,

ho un piccolo dubbio

io estraggo 30 elementi dal database e li incolonna in una tabella con il seguente codice
PHP:
$query = "SELECT * FROM $table WHERE Societa='$thename'  ORDER BY Nome";
    $risultato = mysql_query($query) or die("Query fallita: " . mysql_error() );

    /* Stampa dei risultati in HTML */
    echo "<table border=\"1\">\n";


	<td width=\"200\"bgcolor=\"DARKBLUE\" ><b><font face=\"Tahoma\" size=\"2\" color=\"WHITE\">&nbsp;&nbsp;Nome</td>";

$i=0;
    while ($linea = mysql_fetch_array($risultato, MYSQL_ASSOC)) {
	$i++;

                 echo "\t\t
							   <td height=\"22\" width=\"250\" $evidenzia><font face=\"Tahoma\" size=\"2\" color=\"$color\">&nbsp;&nbsp;$linea</td>\n";
		     
        echo "\t</tr>\n";

    }

fin qui tutto ok

ma se volessi dividere tutti i 30 non in una sola colonna ma su una tabella divisa per 3?

del tipo

123
456
789
101112

e cosi via?
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
Un piccolo esempio da adattare:
PHP:
$colonne = 3;
$sql = "SELECT dato FROM tb";

$res = mysql_query($sql);
if(($righe = mysql_num_rows($res))>0)
  {
  echo "<table>\n";

  for($i = 0; $i < $righe; $i++) {
  $r = mysql_fetch_array($res);
  if($i % $colonne == 0) {
  echo "<tr>\n";
  }

  echo "<td>" . $r['dato'] . "</td>\n";
  if(($i % $colonne) == ($colonne - 1) || ($i + 1) == $righe) {
  echo "</tr>\n";
  }
  
 }
  echo "</table>\n";
}
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
24
Roma
alessandro1997.netsons.org
Se noti bene questa condizione:
PHP:
if(($righe = mysql_num_rows($res))>0)
Noterai che la variabile $righe corrisponde al numero totale delle righe estratte dalla tabella. Avresti anche potuto scriverla così:
PHP:
$righe = mysql_num_rows($res);
if($righe > 0)
Ma per comodità si può abbreviare, eseguendo l'assegnazione della variabile direttamente nell'if, in modo da poterla poi usare successivamente.
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
Se noti bene questa condizione:
PHP:
if(($righe = mysql_num_rows($res))>0)
Noterai che la variabile $righe corrisponde al numero totale delle righe estratte dalla tabella. Avresti anche potuto scriverla così:
PHP:
$righe = mysql_num_rows($res);
if($righe > 0)
Ma per comodità si può abbreviare, eseguendo l'assegnazione della variabile direttamente nell'if, in modo da poterla poi usare successivamente.

mamma mia che ignorante che so :hammer: mica la sapevvo sta cosa. dopo provo e vediamo che ne esce

grazie del suggerimento
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
allora il codice in se funziona però e c'è sempre un però

io nellos cript che voglio modificare come al primo post per ogni riga in base all'id inserivo un include nella fattispecie
PHP:
include(./1/file1.php);
include(./2/file2.php);
etc.

quindi quando dovevo aggiungere un id mi toccava riaprire il file manualmente ed aggiungere riga/colonna e il nuovo include
invece con questo script volevo fare tutto in automatico

quindi ho riadatatto il tuo codice
PHP:
$colonne = 3;
$sql = "SELECT id FROM tb";

$res = mysql_query($sql);
if(($righe = mysql_num_rows($res))>0)
  {
  echo "<table>\n";

  for($i = 0; $i < $righe; $i++) {
  $r = mysql_fetch_array($res);
  if($i % $colonne == 0) {
  echo "<tr>\n";
  }

  echo "<td>" . $r['id'] . "</td>\n";
  if(($i % $colonne) == ($colonne - 1) || ($i + 1) == $righe) {
  echo "</tr>\n";
  }
  
 }
  echo "</table>\n";
}

fin qui ci siamo ordina gli id per 3 e se nella tabella aggiungo un id lo aggiunge in automatico alla pagina di questo script
ma non riesco ad include l'include
PHP:
$colonne = 3;
$sql = "SELECT id FROM tb";

$res = mysql_query($sql);
if(($righe = mysql_num_rows($res))>0)
  {
  echo "<table>\n";

  for($i = 0; $i < $righe; $i++) {
  $r = mysql_fetch_array($res);
  if($i % $colonne == 0) {
  echo "<tr>\n";
  }
$x=$r['id'];
  echo "<td>"; 
include(./$x/file$x');
echo "</td>\n";
  if(($i % $colonne) == ($colonne - 1) || ($i + 1) == $righe) {
  echo "</tr>\n";
  }
  
 }
  echo "</table>\n";
}

così mi va in tilt lo script e mi blocca il browser

gli id sono al moemnto 26 e nel file include altro non è che un button a cui è associato l'id e che rimanda, se cliccato ad altre funzioni

forse sono troppo complicato io :crying:
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
24
Roma
alessandro1997.netsons.org
Ho sbagliato io, avendo capito male quello che volevi fare. Comunque è piuttosto curioso che il browser vada in tilt. Vuol dire che PHP entra in un ciclo infinito, ed io non ne vedo in quel file. Intanto prova a migliorarne la leggibilità modificandolo così:
PHP:
<?php
$colonne = 3;

$res = mysql_query('SELECT id FROM tb') or die(mysql_error());
$righe = mysql_num_rows($res);

if($righe > 0)
{
	echo "<table>\n";

	for($i = 0; $i < $righe; $i++)
	{
		$r = mysql_fetch_array($res);
		
		if($i % $colonne == 0)
			echo "<tr>\n";
		
		echo '<td>';
		require "{$r['id']}/{$r['id']}.php";
		echo "</td>\n";
		
		if(($i % $colonne) == ($colonne - 1) || ($i + 1) == $righe)
			echo "</tr>\n";
	}

	echo "</table>\n";
}
?>
E poi mi potresti dire cosa c'è, ad esempio, nel file 1/1.php?
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
nel file 1.php c'è semplicemente un button collegato ad un altro file

però spetta ale magari sprechi del tempo inutile perchè alla fine questo è un ripiego perche non riusciov a fare una cosa guia chiesta al tempo qui ma stamane ragionandoci su forse riesco

http://forum.mrwebmaster.it/php/23906-ci-risiamo___array-intero-codice.html

or ami è venuta un illuminazione

alla fine credo si possa parlare anche in questo topo

cerco di mettertela semplice

inizio.php
fa decidere tramite 3 button all'utente di quale sessione si tratta, Inizio_metà_Fine
poi ci sono tre cartelle inziio meta prossima
in base alla scelta apre la cartella, in ogni delle 3 cartelle c'è il file di cui stiamo rgionado sopra oltre a tante cartelle quanti sono i manager
cartella inizio/start.php
in questo file c'è il seguente codice

HTML:
 <tr>
<td colspan="3"  bgcolor="CRIMSON"><center><b><font face="Tahoma" size="2" color="WHITE">
Seleziona la Società</font></b></center>
</td>
</tr>
<!--Società 1-->
<tr>
<td width="100"><center>
<?php
$gb=$_POST['gb'];
$gbp=$gb+1;
echo "<form method=\"post\" action=\"./1/principale.php\">\n";
echo "<input type=\"hidden\" name=\"gb\" value=\"$gb\">\n";
include ("./1/start1.php");
?>
</center>
</td>
<!--Società 2-->
<td width="100"><center>
<?php
$gb=$_POST['gb'];
$gbp=$gb+1;
echo "<form method=\"post\" action=\"./2/principale.php\">\n";
echo "<input type=\"hidden\" name=\"gb\" value=\"$gb\">\n";
include ('./2/start2.php');
?>
</center>
</td>

quelli sono i file include di cui ti parlavo sopra e la tabella è composta da tante righe/colonne in base alle cartelle(che so i manager) presenti in inizio

Nel file che voglio includere ho inserito questo codice

PHP:
<html>
<meta content="text/html; charset=ISO-8859-1 " http-equiv="content-type">
<body bgcolor="#F0F8FF"  text="#000000">
<head><link rel=stylesheet  href="http://fpmleague.altervista.org/Script/amon.css" type="text/css"></head>
<center>
<form name="form1" method="post" action="./1/principale.php" >
<?php
include ('/membri/fpmleague/connect.php');
mysql_connect($DBhost,$DBuser,$DBpass) or die("Impossibile collegarsi al server");
@mysql_select_db("$DBName") or die("Impossibile connettersi al database $DBName");
    $sqlquery = "SELECT NomeManager FROM Manager WHERE ID_Manager='1'";
$result = mysql_query($sqlquery);
$number = mysql_numrows($result);
$i = 0;
while ($number > $i) {
$managername1 = mysql_result($result,$i,"NomeManager");
$i++;
}

echo "<form method=\"post\" action=\"manager.php\">\n";
echo "<input type=\"hidden\" name=\"managername1\" value=\"$managername1\">\n";
echo "<form method=\"post\" action=\"manager2.php\">\n";
echo "<input type=\"hidden\" name=\"managername1\" value=\"$managername1\">\n";
echo "<form method=\"post\" action=\"entrate.php\">\n";
echo "<input type=\"hidden\" name=\"managername1\" value=\"$managername1\">\n";
echo "<form method=\"post\" action=\"uscite.php\">\n";
echo "<input type=\"hidden\" name=\"managername1\" value=\"$managername1\">\n";
echo "<form method=\"post\" action=\"finanze.php\">\n";
echo "<input type=\"hidden\" name=\"managername1\" value=\"$managername1\">\n";


mysql_connect($DBhost,$DBuser,$DBpass) or die("Impossibile collegarsi al server");
@mysql_select_db("$DBName") or die("Impossibile connettersi al database $DBName");
    $sqlquery = "SELECT ID_Squadra FROM Manager WHERE NomeManager='$managername1'";
$result = mysql_query($sqlquery);
$number = mysql_numrows($result);
$i = 0;
while ($number > $i) {
$teamname = mysql_result($result,$i,"ID_Squadra");
$i++;
}
?>


  <button  name="invia"  type="submit" style="width:200px;" >
   
   <img src="../loghi/<? echo $teamname;?>.gif" width="25" height="25" title=""  vspace="5"
alt="invia adesso" align="absmiddle">    
   <b><font class="rif" face="Tahoma" size="2" color="#282828"><?  echo $teamname;?></b>
 </button> 
 


</form>


</center>
</body>
</meta>
</html>
Ora io volevo sistemare questo file perlomeno epr non intervenire manualmente all'aggiunta di un nuovo manager

però nel link che ti ho postato su invece volevo evitare di avere tutte ste cartelle(che contengono lo stesso dientico codice (ma con la sostituzione manuale dell'id del manager) con una sola.

Io penso si possa fare con una select che mi tiri fuori tutti gli id manager e poi inserire l'array in

PHP:
 $sqlquery = "SELECT NomeManager FROM Manager WHERE ID_Manager='[B]$array[/B]'";

Ora in pratica ho 3 sessioni ogni sessione contiene 9 file di base quindi 27 file
se ho 30 utenti e devo modificare il codice mi tocca muovermi su 810 file mentre io vorrei ridurre i 9 file per sessione e basta quindi 27 file

se secondo te sta cosa si può fare è inutile perdere la vita sull'oggetto di questo topic, se la cosa invece risulta difficile perlomeno mi serve un aiuto su quanto chiesto nel topic

Cosa ne dici ale?

p.s.

immagino troverai diversi errori di identazione ma conta che sono un vero autodidatta, ho imparato anche sensa manuali ma solo girando nel web e con molto intuito


p.s.2 è possibile inviarti in mp un immagine della pagina in questione o il link dello script?
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
ok ci sono riuscito :mavieni::mavieni::mavieni::mavieni:

PHP:
<?php

 $colonne = 3;
mysql_connect($DBhost,$DBuser,$DBpass) or die("Impossibile collegarsi al server");
@mysql_select_db("$DBName") or die("Impossibile connettersi al database $DBName");


$sql = "SELECT * FROM Manager";
$res = mysql_query($sql);
  
if(($righe = mysql_num_rows($res))>0)
  {
  echo "  <form name=\"soc\" method=\"post\" action=\"principale.php\" >";

  echo "<table>\n";

  for($i = 0; $i < $righe; $i++) {
  $r = mysql_fetch_array($res);
  if($i % $colonne == 0) {
  echo "<tr>\n";
  }

  echo "<td>
    <button  name=\"soc\"  type=\"submit\" style=\"width:200px;\" >
      <img src=\"../loghi/". $r['ID_Squadra'].".gif\" width=\"25\" height=\"25\" title=\"\"  vspace=\"5\"
alt=\"invia adesso\" align=\"absmiddle\">    
   <b><font class=\"rif\" face=\"Tahoma\" size=\"2\" color=\"#282828\">".$r['ID_Squadra']."</b>
 </button> 
 
  
</td>\n";

  if(($i % $colonne) == ($colonne - 1) || ($i + 1) == $righe) {
  echo "</tr>\n";
  }
  
 }
  echo "</table>\n";
  echo "</form>";
}  
?>


ora mi incolonna per 3 i button quanti sono i manager


GRAZIE

GRAZIE

GRAZIE
però non riesco a inviare l'id scelto dal button alla pagina successiva :incazz2:


scrivo nel topo apposito
 
Discussioni simili
Autore Titolo Forum Risposte Data
D Ordinare i risultati di una query dalla fine della tabella MySQL 13
P Ordinare e impaginare una tabella contemporaneamente Javascript 1
M Ordinare una query join PHP 2
R Ordinare alfabeticamente partendo da una PAROLA MySQL 0
xone Ordinare tramite menù a tendina i risultati di una query già stampati MySQL 0
novello88 MySQL ORDER BY [Era: ordinare i risultati di una database MySQL] MySQL 1
Monital ordinare il risultato di una query con variabili unite PHP 32
G ordinare i risultati di una query PHP 4
F ordinare una form con uno script php PHP 2
L [PHP] ordinare per data PHP 3
F [HTML] Google fogli ordinare per colonne HTML e CSS 0
P [PHP] ordinare un array multidimensionale in modo personalizzato PHP 2
T [PHP] ordinare un campo varchar che contiene numeri PHP 6
Trapano Query in php come ordinare per data e anche per ora PHP 7
L [PHP] ordinare xml PHP 0
Trapano [HTML] Ordinare indirizzi, creando un percorso HTML e CSS 3
M Ordinare i valori in query group by PHP 4
L Ordinare articoli dentro categorie e tag in ordine alfabetico wordpress WordPress 1
M Ordinare array (multidimensionale)? PHP 3
ste80 ordinare dati da file di testo PHP 3
M Ordinare visualizzazione record tramite form con input "text" PHP 2
M Ordinare array multidimensionale con esclusioni Javascript 0
M [PHP]Ordinare dati secondo prezzo PHP 2
borgo italia ordinare un array bidimensionale Snippet PHP 0
zighy ordinare risultati specifici PHP 20
ivarello Ordinare dati Var in ordine numerico PHP 9
C Ordinare parole in base alla lunghezza PHP 1
Trapano Ordinare risultati MySQL 6
C Ordinare array in base alla lunghezza dei valori PHP 3
C Ordinare array multidimensionali PHP 0
T.W. Aiuto Per Ordinare Risultati Ricerca Da File CSV PHP 2
C Ordinare alfabeticamente un array e ordinare un secondo array in funzione del primo. Javascript 12
valient13 ordinare in ordine decrescente la lista PHP 2
F Ordinare array bidimensionale PHP 2
P [ASP] [Grauito] Ordinare categoria (era: reder by Cat) Offerte e Richieste di Lavoro e/o Collaborazione 1
G Ordinare query PHP 2
R Ordinare array in base al valore PHP 7
S ordinare array di date PHP 4
R Come ordinare gli articoli per data? Webdesign e Grafica 5
R Ordinare array in base al valore e alla key PHP 1
A Ordinare query sql in base ai risultati di ricerca PHP 1
M Ordinare il secondo elemento di uno split() PHP 10
N Ordinare per totali Database 0
G VBA e ordinare celle relativamente in Excel 2007 Windows e Software 0
S - Ordinare files uplodati - PHP 0
frankiedeguello Ordinare file per data di creazione PHP 1
T Ordinare dati di un Recordset [era:Grosso problema, chi mi aiuta?] Classic ASP 2
F FORM - ordinare l'email... HTML e CSS 3
J ordinare per nome Database 1
Shyson Puntare ad una sotto directory WordPress 3

Discussioni simili