• Home
  • Forum
  • Fare Web
  • PHP

ordinare in una tabella risultati query

  • Creatore Discussione Creatore Discussione Monital
  • Data di inizio Data di inizio 27 Dic 2010

Monital

Utente Attivo
15 Apr 2009
778
2
18
  • 27 Dic 2010
  • #1
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
  • 27 Dic 2010
  • #2
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";
}
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
  • 27 Dic 2010
  • #3
mmmh


e $righe a cosa corrisponde?
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
27
Roma
alessandro1997.netsons.org
  • 27 Dic 2010
  • #4
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
  • 27 Dic 2010
  • #5
alessandro1997 ha scritto:
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.
Clicca per allargare...

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
  • 28 Dic 2010
  • #6
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
27
Roma
alessandro1997.netsons.org
  • 28 Dic 2010
  • #7
Prova a modificare la riga così:
PHP:
include("{$i}/file{$i}.php");
E vedi se funziona.
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
  • 29 Dic 2010
  • #8
alessandro1997 ha scritto:
Prova a modificare la riga così:
PHP:
include("{$i}/file{$i}.php");
E vedi se funziona.
Clicca per allargare...

niente fa la stessa cosa di prima

per un istante si vedono i button tutti su una riga però poi va in stallo
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
27
Roma
alessandro1997.netsons.org
  • 29 Dic 2010
  • #9
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
  • 29 Dic 2010
  • #10
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
  • 31 Dic 2010
  • #11
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
 
Devi accedere o registrarti per poter rispondere.

Discussioni simili

D
Ordinare i risultati di una query dalla fine della tabella
  • danielloantonio
  • 5 Giu 2013
  • MySQL
Risposte
13
Visite
2K
MySQL 12 Giu 2013
HolidaySoft.it
P
Ordinare e impaginare una tabella contemporaneamente
  • piero87
  • 26 Mar 2012
  • Javascript
Risposte
1
Visite
2K
Javascript 13 Apr 2012
maxbossi
Ordinare option di una select
  • otto9due
  • 20 Feb 2023
  • Javascript
Risposte
5
Visite
2K
Javascript 22 Feb 2023
otto9due
M
Ordinare una query join
  • Max61
  • 9 Giu 2020
  • PHP
Risposte
2
Visite
1K
PHP 9 Giu 2020
Max61
M
R
Ordinare alfabeticamente partendo da una PAROLA
  • rudijuri
  • 2 Set 2014
  • MySQL
Risposte
0
Visite
1K
MySQL 2 Set 2014
rudijuri
R
Ordinare tramite menù a tendina i risultati di una query già stampati
  • xone
  • 4 Apr 2014
  • MySQL
Risposte
0
Visite
1K
MySQL 4 Apr 2014
xone
MySQL ORDER BY [Era: ordinare i risultati di una database MySQL]
  • novello88
  • 3 Mar 2012
  • MySQL
Risposte
1
Visite
14K
MySQL 3 Mar 2012
borgo italia
ordinare il risultato di una query con variabili unite
  • Monital
  • 15 Dic 2011
  • PHP
  • 2
Risposte
32
Visite
5K
PHP 18 Dic 2011
borgo italia
G
ordinare i risultati di una query
  • gasparroa
  • 8 Mag 2010
  • PHP
Risposte
4
Visite
2K
PHP 10 Mag 2010
lotus
L
F
ordinare una form con uno script php
  • FAX
  • 20 Lug 2004
  • PHP
Risposte
2
Visite
3K
PHP 30 Lug 2004
FAX
F
T
come ordinare dei record recuperati da due tabelle
  • twogate
  • 5 Lug 2023
  • MySQL
Risposte
0
Visite
4K
MySQL 5 Lug 2023
twogate
T
[C#] Ordinare un livello specifico di un custom tree
  • felino
  • 9 Set 2022
  • .NET Framework
Risposte
0
Visite
4K
.NET Framework 9 Set 2022
felino
G
Ordinare un array multidimensionale
  • Gae
  • 30 Apr 2022
  • PHP
Risposte
4
Visite
2K
PHP 3 Mag 2022
Gae
G
A
[MySQL] riordinare campo criptato
  • Angelo18
  • 24 Giu 2018
  • MySQL
Risposte
1
Visite
1K
MySQL 25 Giu 2018
Max 1
L
[PHP] ordinare per data
  • luis45
  • 8 Apr 2018
  • PHP
Risposte
3
Visite
3K
PHP 9 Apr 2018
macus_adi
F
[HTML] Google fogli ordinare per colonne
  • Fabio7
  • 14 Dic 2017
  • HTML e CSS
Risposte
0
Visite
1K
HTML e CSS 14 Dic 2017
Fabio7
F
P
[PHP] ordinare un array multidimensionale in modo personalizzato
  • perseoclub
  • 7 Ago 2017
  • PHP
Risposte
2
Visite
1K
PHP 9 Ago 2017
perseoclub
P
ALGORITMO per trasformare/mappare/coordinare Tocchi tra Tablet e Desktop PC
  • lidya123
  • 25 Mag 2017
  • Programmazione
Risposte
0
Visite
2K
Programmazione 25 Mag 2017
lidya123
T
[PHP] ordinare un campo varchar che contiene numeri
  • theseo
  • 11 Mar 2017
  • PHP
Risposte
6
Visite
3K
PHP 12 Mar 2017
theseo
T
Query in php come ordinare per data e anche per ora
  • Trapano
  • 4 Feb 2017
  • PHP
Risposte
7
Visite
4K
PHP 7 Feb 2017
Trapano
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Fare Web
  • PHP
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?