Creare pagina PHP come quella di phpMyadmin

Fabrizio Villa

Utente Attivo
19 Gen 2013
131
0
16
Salve,
ho una pagina php che mostra i dati di una tabella mysql (con SELECT).
Per modificare, cancellare o duplicare tali dati uso altrettante pagine php con i comandi (INSERT, DELETE ecc...). Richiamo gli ID con un checkbox.
La domanda è:
sarebbe possibile modificare i campi della tabella direttamente nella pagina nella quale li stampo senza passare dalla pagina "modifica"?
In pratica come posso ricreare la funzione che c'è nel phpmyadmin dove con un doppio clic la cella della tabella diventa un input text.
Spero di essere stato chiaro e scusate la mia totale ignoranza.
Grazie infinite!
 

3_g

Utente Attivo
5 Set 2017
36
1
8
Ancona
credo che dovresti usare una pagina "multi funzione":eek:... nel senso che la stessa pagina contiene sia il codice per visualizzare i dati... sia quello per la modifica... e con le "strutture di controllo" del codice PHP (IF... ELSE) esegui la parte che ti serve:D
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
intanto ti do uno schema di come potersti fare
PHP:
<!DOCTYPE html>
<head>
<meta  charset=utf-8" />
<title>pagina elimina cancella</title>
</head>
<body>
<?php
if(isset($_POST['vai'])){
    if(!is_array($_POST['mod']) && !is_array($_POST['mod'])){
        echo "non hai scelto cosa fare";
    }else{
        if(is_array($_POST['mod'])){
            foreach($_POST['mod'] as $id =>$val){
                //al posto dell'echo ci sarà la query di modifica
                echo "hai modificato il titolo ".$_POST['titoli'][$id]." con id=$val<br>";
            }
        }
        if(is_array($_POST['del'])){
            foreach($_POST['del'] as $id =>$val){
                //al posto dell'echo ci sarà la query di modifica
                echo "hai eliminato il titolo ".$_POST['titoli'][$id]." con id=$val<br>";
            }
        }
    }
    //e qui un ritorno automatico al form dove i recor eliminati spariscono
    //e quelli modificati si vede la modifica
}


?>
<form action="#" method="post">
<table width="100%" border="4" cellspacing="2" cellpadding="2">
    <tr>
    <td>elemento</td>
    <td>modifica</td>
    <td>elimina</td>
  </tr>
    <!--
    evidente che i dati tabellati scritti nei campi deriveranno da una select e relativo ciclo while
    i numeri nei nomi di campi tipo array sono gli id del record $id
    i valori sono il contenuto di un altro camo $valore_del_campo
    -->
  <tr>
    <td><input name="titoli[1]" type="text" value="pinco si gratta" /></td>
    <td><input type="checkbox" name="mod[1]" value="1" id="mod" /></td>
    <td><input type="checkbox" name="del[1]" value="1" id="del" /></td>
  </tr>
  <tr>
    <td><input name="titoli[33]" type="text" value="pallo ride" /></td>
    <td><input type="checkbox" name="mod[33]" value="33" id="mod" /></td>
    <td><input type="checkbox" name="del[33]" value="33" id="mod" /></td>
  </tr>
  <tr>
    <td><input name="titoli[35]" type="text" value="sofinisba li guarda" /></td>
    <td><input type="checkbox" name="mod[35]" value="35" id="mod" /></td>
    <td><input type="checkbox" name="del[35]" value="35" id="mod" /></td>
  </tr>
  <tr>
    <td><input name="titoli[111]" type="text" value="e attenzio commenta" /></td>
    <td><input type="checkbox" name="mod[111]" value="111" id="mod" /></td>
    <td><input type="checkbox" name="del[111]" value="111" id="mod" /></td>
  </tr>
</table>

<input name="vai" type="submit" value="vai" />
</form>
</body>
</html>
provalo così come è e guarda se capisci cosa intendo
 
Ultima modifica:

Fabrizio Villa

Utente Attivo
19 Gen 2013
131
0
16
Ciao, grazie mille per la disponibilità!
Ho provato e va un po' oltre le mie già scarse possibilità...ossia lasciamo perdere...;)
Grazie infinite per il consueto preziosissimo aiuto!!!
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
se posti la struttura della tabella e e i dati che vuoi modificare lo metto giu lo script poi tu eventualmente aggiungi i css per farlo diventare bello
 

Fabrizio Villa

Utente Attivo
19 Gen 2013
131
0
16
Ciao, sei troppo gentile!
Ecco il codice:
PHP:
<?php
$conn = mysql_connect("localhost","root","");
mysql_select_db("calendariotoscanini",$conn);
$result = mysql_query("SELECT * FROM tcalendario ORDER BY Start_Date ASC, Start_Time ASC");
?>
<html>
<head>
<title>Calendario Toscanini</title>
<link rel="stylesheet" type="text/css" href="styles.css" />
<script language="javascript" src="pdfs.js" type="text/javascript"></script>
</head>
<body>
<div class="pagina">
<a class="logo" href="index.php"><img src="design/logo5.png" alt="Calendario Toscanini" /></a>
<p class="title">MODIFICA IL PDF</p>
<form name="frmUser" method="post" action="">
<table border="0" cellpadding="10" cellspacing="1" width="1200" class="tblListForm">
<tr class="listheader">
<td colspan="8">
<input type='checkbox' class='checkall' onClick='toggle(this)' />Seleziona tutto
<input type="button" name="update" value="Modifica" onClick="setUpdateAction();" />
<input type="button" name="delete" value="Cancella"  onClick="setDeleteAction();" />
<input type="button" name="aggiungi" value="Aggiungi"  onClick="setAggiungiAction();" />
<input type="button" name="duplicate" value="Duplica"  onClick="setDuplicateAction();" />
<a href="pdfnewclvferrari.php" target="_blank"><img src="design/pdfP.png" alt="PDF"/ align="middle"></a>
<a href="informazioni.php"><img src="design/informazioniP.png" alt="Informazioni" align="middle"></a>
</td>
</tr>
<?php

$sql_avviso  = mysql_query("SELECT * FROM tavviso");
$lignes = mysql_fetch_assoc($sql_avviso)
 
?>       
<tr><td>&nbsp;</td><td>Dal: <?php echo $lignes["dal"]; ?> al <?php echo $lignes["al"]; ?></td></tr>
<tr class="listheader">
<td><img src="design/logo-toscanini.jpg"></td>
<td>Evento</td>
<td>Data</td>
<td>Dalle</td>
<td>Alle</td>
<td>Informazioni</td>
<td>Luogo</td>

</tr>
<?php
$i=0;
while($row = mysql_fetch_array($result)) {
if($i%2==0)
$classname="evenRow";
else
$classname="oddRow";
$time_array = explode(":",$row["Start_Time"]);
$time_array2 = explode(":",$row["End_Time"]);

?>
<tr class="<?php if(isset($classname)) echo $classname;?>">
<td><input type="checkbox" class='checkall' name="id[]" value="<?php echo $row["id"]; ?>" ></td>
<td><input type="text" value="<?php echo $row["Subject"]; ?>"></td>
<td><?php echo implode("-", array_reverse(explode("-", $row["Start_Date"]))); ?></td>
<td><?php echo $ora = $time_array[0] . ":" . $time_array[1]; ?></td>
<td><?php echo $ora = $time_array2[0] . ":" . $time_array2[1]; ?></td>
<td><?php echo $row["Description"]; ?></td>
<td><?php echo $row["Location"]; ?></td>
</tr>
<?php
$i++;
}
?>
<tr class="listheader">
<td colspan="8">
<input type='checkbox' class='checkall' onClick='toggle(this)' />Seleziona tutto
<input type="button" name="update" value="Modifica" onClick="setUpdateAction();" />
<input type="button" name="delete" value="Cancella"  onClick="setDeleteAction();" />
<input type="button" name="aggiungi" value="Aggiungi"  onClick="setAggiungiAction();" />
<input type="button" name="duplicate" value="Duplica"  onClick="setDuplicateAction();" />
<a href="pdfnewclvferrari.php" target="_blank"><img src="design/pdfP.png" alt="PDF" align="middle"></a>
<a href="informazioni.php"><img src="design/informazioniP.png" alt="Informazioni" align="middle"></a>
</td>
</tr>   
</table>
</form>
</div>
<iframe src="pdfnewclvferrari.php" width="1200px" height="1200px"></iframe>
</body></html>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
ho dato un occhio, ma forse non ho capito bene io o forse stai facendo tu un po' di confusione, se hai un po' di pazienza facciamo così:
metto giu una specifica di quello che ho capito che vuoi fare e, se sei daccordo, te la invio alla tua emai in quanto qui verrebbe un discorso troppo lungo.
tra l'altro ho dei dubbi, guardando il tuo script, su come hai strutturato le tabelle del db.
ultima cosa, ma non meno importante, vedo che usi le vecchie istruzioni php tipo mysql_eccetera, non so su che host sei, ma se sei su aruba (dove c'è il mio sito) a breve aggiorneranno php alla versione 5.6 quindi le vecchie istruzioni non sono più supportate e danno errore con conseguente arresto del sito, quindi devi passare alle nuove istruzioni mysqli_eccetera (sono simili, ma quell' i fa la differenza)
postami quindi se sei d'accordo che allora mi metto al lavoro
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
vedo che fai
PHP:
$result = mysql_query("SELECT * FROM tcalendario ORDER BY Start_Date ASC, Start_Time ASC");
quindi è sulla tabella tclendario che vuoi andare ad operare?
cioè modificare o cancellare o duplicare (cosa intendi per duplicare?) un record o più record di quella tabella?
se se è mi serve la sua struttura es
Codice:
id int(xy) autoincrenet primarikey
start_date ? cosa usi varchar? date?//inserite come gg/mm/aaaa ?
start_time varchar? //inserito come h:m ?
end_date
end_time
impegno varchar(250)
//ecc...se ci sono altri campi
e quali campi vuoi eventualmente modificare, tutti o solo alcuni, se alcuni quali?
da questo ti ricavo la disposizione a phpmyadmin
poi come sono inserite le i dati principalmente le date che da quello che ho capito sono inserite es così
10/11/2017 cioe in formato gg/mm/aaaa (o con altro separatore che non importa)
giusto?

se è così, quel formato contiene un 'piccolo' errore:
tu nella query dai l'ORDER BY Start_Date ASC, Start_Time ASC cioè prima gli impegni a scadenza più vicini
ti faccio presente che se hai due impegni una che inizia il 22 novembre e uno l'1 dicembre l'ordine con cui vengono stampati o visualizzati i record è
01/12/2017 .......
22/11/2017 .......
che è errato (i pc sono stupidi) in quanto il confronto tra le date è un confronto tra stringhe e la stringa che inizia per 01 e minore di quella che inizia per 22 e quindi visualizzata/stampata per prima
tieni presente che quando si lavora con le date e relativi intervalli di tempo sono indispensabili opportuni controlli, controlli cosiddette "a prova di stupido".
se non usi tali controlli puoi ottenere un'agenda incasinata che non serve poi a nulla.
ti dico questo perchè stai facendo un lavoro che sarebbe sprecato, pensa se le note di un'opera di verdi fossero messe a caso sullo spartito e non nel loro ordine oppure nella partitura fossero inseriti pezzi di puccini, a che ti servirebbe lo spartito?
 

Fabrizio Villa

Utente Attivo
19 Gen 2013
131
0
16
Ciao!
Ho provato a inserire 2 impegni nelle date che mi hai scritto come esempio (22/11 e 01/12), ma vengono registrate sul database in ordine corretto, idem nella pagina php...Non capisco dov'è l'errore...
Considera che il calendario in realtà è il google calendar. Il codice php costruisce il file csv con questi campi:
Start_Date, Start_Time, End_Time, Subject, Description, Location,...ecc
Poi importiamo questo csv sul google calendar. Fine della storia. Se l'orchestra si trova a Boston (magari!!!) da un qualsiasi PC o da smartphone si accede al calendar e si compila lì.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
allora credo che ci pensi google calendar a sistemare le date (ma controlla anche l'eventuale accavallamento?), ma sai io sono abituato a fare tutto manina manina senza usare qualcosa di precustituito (o se precustituito è qualcosa che avevo già fatto).
quindi, se ho capito, una volta inserito tutto google calendar ti salva gli impegni su quella tabella?
detto tra noi il processo mi sembra alquanto macchinoso
 

Fabrizio Villa

Utente Attivo
19 Gen 2013
131
0
16
Sicuramente mi sono spiegato male...ma non importa!:):):):)
In realtà è più semplice di come s'immagini. Dovrei fartelo vedere..:):):)
Cmq l'importante è che funzioni perciò non mi stancherò mai di rinnovare i ringraziamenti per l'indispensabile aiuto.
Non essendo io un programmatore probabilmente la mia costruzione ti apparirà un marasma totale. Come se ascoltassi effettivamente un concerto con spartiti di autori diversi mischiati tra loro...capisco!
Però il vantaggio qui è che non c'è pubblico...quindi possiamo fare quello che ci pare! Tanto non lo vede nessuno! L'importante è che funzioni. Se non lo fa...beh...ecco che intervieni tu!;)
Non mi picchiare...
 
Discussioni simili
Autore Titolo Forum Risposte Data
J creare pagina php di prenotazione PHP 5
T con oop creare un ciclo per una pagina dinamica html con php PHP 3
R [PHP] creare pagina profilo per ogni utente PHP 4
M Creare tabella da pagina php popolata con valori passati con POST PHP 5
utente è possibile creare una pagina php che copia interamente il contenuto di un'altra pagina ? PHP 10
giannit [PHP] Creare pagina con collegamenti ipertestuali da file txt PHP 6
S PHP: creare un link in una pagina PHP 7
V creare un collegamento di pagina html in php PHP 10
T vBulletin 3.8.x E' possibile creare una nuova pagina in PHP nel forum? CMS (Content Management System) 0
helpdesk creare una pagina html dimanicamente con php PHP 12
R Creare pagina HTML da script PHP PHP 2
P creare pagina php Database 0
L Creare ancore interne alla pagina PHP 1
L Creare una pagina pre-home WordPress 1
M come creare un popup con CSS da una pagina esterna? jQuery 1
deejayr Creare un link URL ad un pulsante di una pagina web. Javascript 4
Gabriele Visioli Come creare uno spoiler in una pagina o post WordPress 1
M Creare pulsante condividi di fb alla propria pagina web Social Media Marketing 1
P Creare un collegamento mt4 pagina web CMS (Content Management System) 0
R creare una pagina su sito web HTML e CSS 2
denisgligor ciao, vorrei creare una pagina personale per ogni utente con un dominio di terzo livello... si può ? PHP 0
P Come creare un collegamento a un'altra pagina con un bottone? HTML e CSS 12
B Creare azioni automatiche (condizionate) su pagina web Programmazione 2
M Creare una pagina di modifica database. PHP 1
T creare popunder al click sulla pagina Javascript 9
I come posso creare una pagina di inserimento con selezione di mensilità? PHP 1
Web Designer Come creare una pagina statica su Blogger CMS (Content Management System) 0
U Creare una pagina di login PHP 3
U creare una playlist audio e riprodurla in una pagina Classic ASP 1
S Come creare un campo di testo e un pulsante che linka ad una pagina? CMS (Content Management System) 3
I creare pagina successiva PHP 5
A Creare pagina mio account Classic ASP 2
H Creare una pagina che si collega a keepvid. come impostare il form? HTML e CSS 3
B creare una pagina personalizzabile Javascript 2
max1850 Creare una pagina delle news e uploadare i files Classic ASP 2
P Creare pagina web che supporta javascript Javascript 2
G creare pdf da pagina corrente PHP 1
G in flash è possibile creare una finestra che visualizza una pagina html? Flash 0
M Creare una pagina che si ingrandisce PHP 1
S creare "volta pagina" Webdesign e Grafica 3
O Aiuto non riesco a creare una pagina di logout Flash 2
L creare o modificare una .GIF da mettere su una pagina HtmL HTML e CSS 5
A creare una pagina per il "Registrati" PHP 13
E Creare un testo trasparente dietro un div HTML e CSS 5
M Creare traccia di download file sul server HTML e CSS 2
A Cerco programmatore/sviluppatore per creare forum Offerte e Richieste di Lavoro e/o Collaborazione 2
I Creare un banner temporaneo JavaScript Javascript 0
C Creare Tabella Dati Meteo prelevandoli da dei Tags in un altro foglio PHP 27
simgia Cordova errore quando cerco di emulare o creare la app Sviluppo app per Android 2
U PHP creare un file excel dopo ricerca nel DB PHP 0

Discussioni simili