phpBB Italia chiude!
phpBB Italia ringrazia tutti gli utenti che hanno dato fiducia al nostro progetto per ben 9 anni, e che, grazie al grande lavoro fatto da tutto lo Staff (rigorosamente a titolo gratuito), hanno portato il portale a diventare il principale punto di riferimento italiano alla piattaforma phpBB.

Purtroppo, causa motivi personali, non ho più modo di gestirlo e portarlo avanti. Il forum viene ora posto in uno stato di sola lettura, nonché un archivio storico per permettere a chiunque di fruire di tutte le discussioni trattate.

Il nuovo portale di assistenza per l'Italia di phpBB diventa phpBB-Store.it, cui ringrazio per aver deciso di portare avanti questo grande progetto.

Grazie ancora,
Carlo - Amministratore di phpBB Italia

Ordinare visualizzazione record tramite form con input "text

Area di discussione relativa al linguaggio di programmazione web più conosciuto. Il forum è dedicato anche a MySQL, la piattaforma di database più utilizzata con il PHP.
Rispondi
Madera
Utente
Utente
Messaggi: 8
Iscritto il: 25/06/2014, 20:06
Sesso: Maschio

Ordinare visualizzazione record tramite form con input "text

Messaggio da Madera » 25/06/2014, 20:09

Ciao a tutti!
Chiedo a chi ne sa più di me (visto che io non sono proprio un esperto direi :oops: ) una mano per risolvere il mio problema.

Ho una pagina in php che mi restituisce dei valori di un db (mysql) filtrati in base ad un campo check, quindi in base se il valore e 0 o 1 vengono visualizzati o meno.

Adesso vorrei poter dare la possibilità di ordinare a scelta i campi visualizzati e pensavo, salvo che non ci siano soluzioni più facili e immediate, di aggiungere un campo input dove poter inserire un numero che servisse per stabilire l'ordine, in modo da dare alla mia query ORDER BY "campo_ordine".
Diciamo che ci saranno due file, uno che mostra il risultato e l'altro che funziona come amministrazione.

Per spiegarmi meglio, vi faccio un esempio:

la tabella mi restituisce questi valori (id, nome, colore)

1 Pippo Verde
2 Topolino Bianco
3 Paperino Rosso

Ordinati in questo modo. Io vorrei aggiungere ai record un campo input (e fin qui dovrei farcela :mrgreen: ) e un tasto "aggiorna"

1 Pippo Verde [ ]
2 Topolino Bianco [ ]
3 Paperino Rosso [ ]
[aggiorna]

Praticamente vorrei che in base al numero che scrivo nei vari input l'ordine venga cambiato, quindi la mia idea sarebbe quella di fare un controllo sul campo ID o sul campo NOME (tanto non ci saranno nomi uguali) e che venisse tramite INSERT inserito il valore nel campo "campo_ordine" della tabella in modo da far funzionare l'ORDER BY della mia query.

Come posso gestire la cosa? Come posso far fare un controllo in modo che ad ID o NOME uguale venga inserito il numero dell'input text?

Ringrazio anticipatamente tutti per la disponibilità, ogni aiuto è ben accetto :ciao: !

Avatar utente
brunino
Moderatore
Moderatore
Messaggi: 2819
Iscritto il: 12/01/2013, 16:35
Sesso: Maschio
Versione: 3.1.2
Server: UNIX/Linux
PHP: php 5.3
Database: mysql
Località: Toscana, Firenze
Contatta:

Re: R: Ordinare visualizzazione record tramite form con inpu

Messaggio da brunino » 25/06/2014, 21:59

Crei un form e ogni riga estratta crei l'input text con name l'id della riga. il tasto aggiorna sarà un semplice bottone di invio del form.
Nella pagina in cui aggiorni i dati fai lo stesso ciclo che hai fatto in estrazione e aggiorni i dati con $_POST[$id] dove id é l'id della riga in corso. (la query é un semplice update con where sull'id)
Spero di essermi fatto capire.

Inviato con Tapatalk Free da Android
E' sempre gradito un grazie

Creo estensioni per phpBB 3.1 su misura: contattami via MP.
Mie Estensioni: Top Ten Topics | Ban List | Topic List
Visita il mio forum di test e sviluppo stili e estensioni phpBB 3.1

Madera
Utente
Utente
Messaggi: 8
Iscritto il: 25/06/2014, 20:06
Sesso: Maschio

Re: Ordinare visualizzazione record tramite form con input "

Messaggio da Madera » 26/06/2014, 11:15

Ciao Brunino,
grazie mille della risposta! Credo di avere bisogno ancora di aiuto per capire meglio.

Ti posto il codice del mio file php che visualizza i record (sono casa, il sito è per un'agenzia immobiliare), ovviamente ho fatto il collegamento al db e ho impostato la mia query in questo modo:

$mysql="SELECT * FROM tabella_immobili WHERE ad_vetrina=1 ORDER BY ad_ordinevetrina LIMIT 9"

Adesso come descritto nel post precedente, mi vengono restituiti tutti gli immobili che hanno il campo ad_vetrina uguale a 1 e ordinati in base al numero presente nel campo ad_ordinevetrina

Se ho capito bene quello che mi hai scritto il praticamente creo un form generale che racchiude la visualizzazione dei record inserendolo prima del <?php e chiudendolo dopo ?> e inserisco il campo dinamico in modo che il name sia l'id dell'immobile.

Quindi:

Codice: Seleziona tutto


<form id="form1" name="form1" method="post" action="aggiorna.php">

<?php

echo'<div style="float: left; width: 360px; height: 550px; text-align: center; border: 1px solid ##7D7D7D; margin: 5px;">';

echo'<table width="360px" height="529" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#656565" style="float: Left;" margin-left="30">
<tr>
<td height="80">


<div style="display: table-cell; vertical-align: middle; text-align: center; height: 80px; width: 380px; background-color: #333333; font-size: 10px; color: #FFFFFF">'.$id_imm.'<h6>'.$citta.' - Rif. '.$riferimento.'</h6></div>

<center>
<table width="360" border="0" align="center">
<tr>
<td height="275" align="center" valign="top"><div style="height: 275px; font-size: 14px; color: #FFFFFF"><a href="'.$linkgrezzo .'"><img src="'.$txt_images.'" style="border: 1px solid white; margin-bottom: 10px;"></a></div></td>
</tr>
<tr>
<td height="120" valign="top"><div class="giustificato" style="color: #a8a8a8; font-size: 14px;"><a href="'.$linkgrezzo .'">'.$intro.'</a></div></td>
</tr>
<tr>
<td height="70" text-align:"center"><center><div style="font-size: 18px; color: #d1d1d1; align: center"><label for="ordine">ordine:</label><input type="text" name="'.$id_imm.'" id="ordine" /></div></center></td>
</tr>
</table> 

</td>
</tr>

</table>

</center>';

echo '</div>'; 

?>
<input type='submit' value='Aggiorna' name='submit'> 
</form>
E fin qui credo sia tutto corretto... dimmi tu.

A questo punto devo far lavorare il mio file aggiorna.php in modo che vada ad inserire i numeri inseriti negli input nel campo ad_ordinevetrina in base all'ID.

suppongo debba creare una query che faccia un UPDATE del campo ad_ordinevetrina in base all'id... e qui mi fermo perché non so bene come muovermi. Lavorerei su qualcosa del genere, ma non so come chiudere:

$query = "UPDATE tabella_immobili SET ad_ordinevetrina = ...

Puoi aiutarmi?
Grazie mille delle disponibilità.

p.s. spero di non aver fatto stupidaggini nell'inserire il codice all'interno del post, nel caso chiedo venia...

Avatar utente
brunino
Moderatore
Moderatore
Messaggi: 2819
Iscritto il: 12/01/2013, 16:35
Sesso: Maschio
Versione: 3.1.2
Server: UNIX/Linux
PHP: php 5.3
Database: mysql
Località: Toscana, Firenze
Contatta:

Re: R: Ordinare visualizzazione record tramite form con inpu

Messaggio da brunino » 26/06/2014, 13:22

la query di modifica deve avvenire dentro un while che estrae gli stessi dati. (lo aavrai fatto per estrarli nella pagina di invio)
quindi la query diventa

Codice: Seleziona tutto

update nometabella set ordine=$ordine where id=$id
dove $ordine é $_POST[$id] e $id é l'id della riga.

Inviato con Tapatalk Free da Android
E' sempre gradito un grazie

Creo estensioni per phpBB 3.1 su misura: contattami via MP.
Mie Estensioni: Top Ten Topics | Ban List | Topic List
Visita il mio forum di test e sviluppo stili e estensioni phpBB 3.1

Madera
Utente
Utente
Messaggi: 8
Iscritto il: 25/06/2014, 20:06
Sesso: Maschio

Re: Ordinare visualizzazione record tramite form con input "

Messaggio da Madera » 26/06/2014, 17:26

Ciao Brunino, grazie della risposta ma non sono abbastanza in gamba (evidentemente... :? ) da capire come gestire la cosa...
Se posso, approfitto ancora un po' della tua disponibilità e conoscenza!

Ho il mio ciclo While che parte dopo la query:

Codice: Seleziona tutto


$mysql="SELECT * FROM tabellaimmobili WHERE ad_vetrina=1 ORDER BY ad_ordinevetrina LIMIT 9";

$myquery=mysql_query($mysql) or die(mysql_error()); 

// controllo l'esito
if (!$myquery) {
die("Errore nella query $myquery: " . mysql_error());
}

//QUI PARTE IL MIO CICLO WHILE
while ($myrow= mysql_fetch_array($myquery, MYSQL_ASSOC)) { 

$id_imm= $myrow['id'];
$citta= $myrow['ad_citta']; 
$riferimento= $myrow['ad_riferimento'];
$intro= $myrow['ad_introduzioneimmobile']; 

//ho provato a segnarlo così ma mi sa che è una ca..ata...
$ordine= $myrow->$_POST['$id_imm'];

e prima della chiusura del form e del ciclo while ho scritto questo:

Codice: Seleziona tutto


if($_POST)
{	
	$mysql2="UPDATE f38vw_adsmanager_ads SET ad_ordinevetrina=$ordine where id=$id_imm";

        $myquery2=mysql_query($mysql2) or die(mysql_error()); 

// controllo l'esito
if (!$myquery2) {
die("Errore nella query $myquery2: " . mysql_error());
}

	echo 'Campi Ordine Aggiornati!'; 		
}

else
{
    echo("Compila il modulo e premi il bottone 'Aggiorna'");
}

} 

Adesso quando premo il pulsante 'Aggiorna' mi restituisce questo errore:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'where id=127' at line 1

E' troppo chiederti come devo modificare la cosa in modo che funzioni?

Perdonami ma mi sono avvicinato al PHP da poco e ho ancora grosse lacune da colmare.

Come sempre ti ringrazio della disponibilità!

Avatar utente
brunino
Moderatore
Moderatore
Messaggi: 2819
Iscritto il: 12/01/2013, 16:35
Sesso: Maschio
Versione: 3.1.2
Server: UNIX/Linux
PHP: php 5.3
Database: mysql
Località: Toscana, Firenze
Contatta:

Re: R: Ordinare visualizzazione record tramite form con inpu

Messaggio da brunino » 26/06/2014, 22:07

$ordine=$_POST[$id_imm]

Inviato con Tapatalk Free da Android
E' sempre gradito un grazie

Creo estensioni per phpBB 3.1 su misura: contattami via MP.
Mie Estensioni: Top Ten Topics | Ban List | Topic List
Visita il mio forum di test e sviluppo stili e estensioni phpBB 3.1

Madera
Utente
Utente
Messaggi: 8
Iscritto il: 25/06/2014, 20:06
Sesso: Maschio

Re: Ordinare visualizzazione record tramite form con input "

Messaggio da Madera » 27/06/2014, 11:53

Perfetto!!! Grazie mille della disponibilità!
Ciao!

Rispondi

Torna a “PHP - MySQL”

Chi c’è in linea

Visitano il forum: Nessuno e 39 ospiti