- Home
- Categorie
- Coding e Sistemistica
- MYSQL e altri Database
- Semplice sito php/mysql...è veramente semplice ?
-
L'id dovrebbe generarsi da solo: tramite il pannello di phpmyadmin definiscila come chiave primaria e AI (auto incrementa). Senza inserirlo nella query si incrementa automaticamente e non potra` mai essere doppio!
Per visualizzare tutti i dati in una pagina fai una query per i dati di quella tabella e poi con un ciclo while li stampi tutti.
-
Ok ho attribuito il AI e chiave primaria a "ID".
Come posso realizzare il form per inserire i dati ? mi basta un esempio semplice, poi ripeto tutto a manetta !
La soluzione per la visualizzazione dei dati è perfetta, per modificarli ci sono dei pacchetti o script comodi ? (tipo visualizzazione stile excel dei dati mysql e possibilità di modifica ?)Grazie ancora !
-
Per inserirli devi fare un form in HTML e quindi una azione in PHP che esegue i comandi di INSERT dei dati nel db (e tutti i relativi controlli). Penso che sarebbe il caso che cerchi una guida da 0 che ti dica passo passo come inserire i dati, modificarli e quindi visualizzarli: cerca su HTML .it
-
O magari dare un occhiata quì sul Forum.
-
Ciao marcopietro,
fai attenzione comunque a fare dei controlli preventivi su tutti gli input. La porzione di codice postata da Samyorn va bene a scopo didattico, è sprovvista però di controlli e vulnerabile a SQL INJECTION qualora la direttiva magic_quotes è impostata su OFF.
Oltre che verificare esista nella tabella un dato relativo all'id inserito.
Sono punti che ovviamente vanno approfonditi uno ad uno, anche per non fare troppa confusione, ma da non dimenticare se gli script verranno utilizzati in produzione.
-
Ciao !
ho creato una pagina php per l'inserimento di dati nel db che viene richiamata dal form specifico ma mi compare questo errore:**Error: 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 ') VALUES ('id','Mario Rossi','Azienda Dolce','Via roma 213, milano','05673' at line 1
**<?php $con = mysql_connect("localhost","root",""); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("prova", $con); $sql="INSERT INTO prova (id, nome, azienda, via, telefono, cellulare, emai, sito, displaylogo, logo, tipomiele, tipologia, caratteristiche, altitudine, lotto, quantita, data, tipoproduzione, displayfoto, foto1, displayfoto2, foto2, displayvideo, video, displayvideo2, video2, displayfoto3, foto3, valori, schedamiele, anno1, miele1, premio1, anno2, miele2, premio2, anno3, miele3, premio3, anno4, miele4, premio4, anno5, miele5, premio5, latitudine, longitudine,) VALUES ('$_POST[id]','$_POST[nome]','$_POST[azienda]','$_POST[via]','$_POST[telefono]','$_POST[cellulare]','$_POST[emai]','$_POST[sito]','$_POST[displaylogo]','$_POST[logo]','$_POST[tipomiele]','$_POST[tipologia]','$_POST[caratteristiche]','$_POST[altitudine]','$_POST[lotto]','$_POST[quantita]','$_POST[data]','$_POST[tipoproduzione]','$_POST[displayfoto]','$_POST[foto1]','$_POST[displayfoto2]','$_POST[foto2]','$_POST[displayvideo]','$_POST[video2]','$_POST[displayfoto3]','$_POST[foto3]','$_POST[valori]','$_POST[schedamiele]','$_POST[anno1]','$_POST[miele1]','$_POST[premio1]','$_POST[anno2]','$_POST[miele2]','$_POST[premio2]','$_POST[anno3]','$_POST[miele3]','$_POST[premio3]','$_POST[anno4]','$_POST[miele4]','$_POST[premio4]','$_POST[anno5]','$_POST[miele5]','$_POST[premio5]','$_POST[latitudine]','$_POST[longitudine]')"; if (!mysql_query($sql,$con)) { die('Errore: ' . mysql_error()); } echo "1 apicoltore inserito"; mysql_close($con) ?>
**NON RIESCO A TROVARE L'ERRORE !!
mi riuscite ad aiutare ?
**
-
I dati numero (ovvero INT) di MySQL non vanno inseriti con gli apici tipo 'id' (che tra l'altro se metti AI non serve neanche).
-
Ciao !
grazie della risposta, ma se anche tolgo id mi da lo stesso errore...quello che vorrei almeno capire è se questo errore è nel php o ha una radice + profonda...
Tutto funzionava benissimo finchè erano pochi campi poi quando ho inserito tutti gli altri è comparso l'errore.
Su phpmyadmin i campi sono specificati come TEXT fatta eccezione per id che è INT e AI.
-
C'è una virgola di troppo:
[php]longitudine,)[/php]
-
Perfetto, tutto risolto.
Non avevo inserito alcuni campi !Grazie !
Ciao ciao.
-
Ciao a tutti. Sono un neofita di PHP, ho un dubbio. Avrei necessità di creare una funzione del tipo
[PHP]if($_POST['unita'] == '1A' or '1B' or '1C' or '1D' or '1E' or '1F')[/PHP]
Sono quasi certo sia sbagliata, ma non trovo niente in rete su quale sia il modo corretto per realizzare una cosa del genere.
Nel caso ve lo chiedeste, il discorso è semplice si tratta di appartamenti di un palazzo "1" è il piano "A-B ecc.." è la tipologia, sono tanti piani e tanti tipi, siccome il sito è già quasi tutto pronto, e mi manca solamente da creare la struttura di questa pagina, non vorrei stravolgere tutto il lavoro.Spero qualcuno possa aiutartmi
di seguito il link alle pagine "work in progress"
-
Ciao Rapide,
puoi fare cosi ad esempio:
[php]
if(in_array($_POST['unita'], array('1A', '1B', '1C', '1D', '1E', '1F')))
[/php]
-
Grazieeeeee... Ho risolto col tuo consiglio, funziona... Questo forum continua ad essere l'unico che mi aiuta veramente!
-
Ciao a tutti!
scusate ma sono stanchissimo, scrivo codici da non so quanto ed ora mi sono impantanato. Sto modificando una galleria jQuery (licenza open GL) tramutandola da semplice galleria in HTML (con riferimenti "statici" alle immagini" a galleria in PHP con riferimenti "dinamici" alle immagini comandate tramite POST da una pagina precedente.
Problema:
funziona quasi tutto eccetto per il fatto che non mi "scrive" (echo) i link che dovrebbe recuperare dal DB MySql. C'è di sicuro un errore di sintassi, ma non riesco ad individuarlo... è tutta la notte che ci provo... chi si offre di aiutarmi? Posto tutto il codice qui (è un po' lunghetto) o preferite un messaggio privato?Grazie in anticipo a tutti
Ciao
P.
-
Posta il codice, però racchiudilo nel tag PHP altrimenti ci si capisce poco.
-
Grazie mille!! Ecco il codice
<?php include '../_php/connect.php'; ?> <?php $unita == $_POST['unita']; $foto = mysql_query("SELECT * FROM Appartamenti WHERE unita='$unita'"); while($row = mysql_fetch_array($foto)) { $planimetria = $row['planimetria']; $foto1 = $row['foto1']; $foto2 = $row['foto2']; $foto3 = $row['foto3']; $foto4 = $row['foto4']; $foto5 = $row['foto5']; $foto6 = $row['foto6']; } //Header vari <script type='text/javascript'> jQuery(function($){ $.supersized({ // Functionality slideshow : 1, // Slideshow on/off autoplay : 0, // Slideshow starts playing automatically start_slide : 1, // Start slide (0 is random) stop_loop : 0, // Pauses slideshow on last slide random : 0, // Randomize slide order (Ignores start slide) slide_interval : 3000, // Length between transitions transition : 6, // 0-None, 1-Fade, 2-Slide Top, 3-Slide Right, 4-Slide Bottom, 5-Slide Left, 6-Carousel Right, 7-Carousel Left transition_speed : 1000, // Speed of transition new_window : 1, // Image links open in new window/tab pause_hover : 0, // Pause slideshow on hover keyboard_nav : 1, // Keyboard navigation on/off performance : 1, // 0-Normal, 1-Hybrid speed/quality, 2-Optimizes image quality, 3-Optimizes transition speed // (Only works for Firefox/IE, not Webkit) image_protect : 1, // Disables image dragging and right click with Javascript // Size & Position min_width : 0, // Min width allowed (in pixels) min_height : 0, // Min height allowed (in pixels) vertical_center : 1, // Vertically center background horizontal_center : 1, // Horizontally center background fit_always : 0, // Image will never exceed browser width or height (Ignores min. dimensions) fit_portrait : 1, // Portrait images will not exceed browser height fit_landscape : 0, // Landscape images will not exceed browser width // Components slide_links : 'blank', // Individual links for each slide (Options: false, 'num', 'name', 'blank') thumb_links : 1, // Individual thumb links for each slide thumbnail_navigation : 0, // Thumbnail navigation slides : [ // Slideshow Images {image : '".$planimetria."', title : 'Image Credit: Maria Kazvan', thumb : '#', url : '#'}, {image : '".$foto1."', title : 'Image Credit: Maria Kazvan', thumb : '#', url : '#'}, {image : '".$foto2."', title : 'Image Credit: Maria Kazvan', thumb : '#', url : '#'}, {image : '".$foto3."', title : 'Image Credit: Colin Wojno', thumb : '#', url : '#'}, {image : '".$foto4."', title : 'Image Credit: Colin Wojno', thumb : '#', url : '#'}, {image : '".$foto5."', title : 'Image Credit: Colin Wojno', thumb : '#', url : '#'}, {image : '".$foto6."', title : 'Image Credit: Brooke Shaden', thumb : '#', url : '#'} ], // Theme Options progress_bar : 1, // Timer for each slide mouse_scrub : 0 }); }); </script> </head>"; ?> <style type="text/css"> ul#demo-block{ margin:0 15px 15px 15px; } ul#demo-block li{ margin:0 0 10px 0; padding:10px; display:inline; float:left; clear:both; color:#aaa; background:url('img/bg-black.png'); font:11px Helvetica, Arial, sans-serif; } ul#demo-block li a{ color:#eee; font-weight:bold; } </style> <body> <!--Demo styles (you can delete this block)--> <ul id="demo-block"> <li><h1>APPARTAMENTO <?php echo $_POST['unita'] ?></h1></li> </ul> <!--End of styles--> <!--Thumbnail Navigation--> <div id="prevthumb"></div> <div id="nextthumb"></div> <!--Arrow Navigation--> <a id="prevslide" class="load-item"></a> <a id="nextslide" class="load-item"></a> <div id="thumb-tray" class="load-item"> <div id="thumb-back"></div> <div id="thumb-forward"></div> </div> <!--Time Bar--> <div id="progress-back" class="load-item"> <div id="progress-bar"></div> </div> <!--Control Bar--> <div id="controls-wrapper" class="load-item"> <div id="controls"> <a id="play-button"><img id="pauseplay" src="img/pause.png"/></a> <!--Slide counter--> <div id="slidecounter"> <span class="slidenumber"></span> / <span class="totalslides"></span> </div> <!--Slide captions displayed here--> <div id="slidecaption"></div> <!--Thumb Tray button--> <a id="tray-button"><img id="tray-arrow" src="img/button-tray-up.png"/></a> <!--Navigation--> <ul id="slide-list"></ul> </div> </div> </body> </html>
-
$unita == $_POST["unita"];
è errato... == si usa per confrontare due valori. Per assegnarlo, ci vuole un uguale solo:
$unita = $_POST["unita"];
La tua query così com'è il codice adesso è: SELECT * FROM Appartamenti WHERE unita='' quindi non dovrebbe estrarre nulla.
-
Grazie Francesco, ho corretto la svista, effettivamente non me n'ero accorto, ma di fatto la galleria continua a non funzionare... Il valore passato dal POST lo riconosce (stranamente lo riconosceva anche prima della tua correzione) Ma non riconosce i vari valori $foto1 ecc...
Può essere sbagliato il modo in cui li inserisco nel codice? Può essere possibile che il codice non sia compatibile con l'inserimento di una stringa PHP? Seguono i link della pagina in questione e di come dovrebbe essere:
pomba25.it/_galleria/slideshow/galleria.php
pomba25.it/_galleria/slideshow/demo.html
-
Effettivamente non me ne ero accorto, perché il $_POST["unita"] mi aveva dato un pugno nell'occhio.
Queste righe:
{image : '".$planimetria."', title : 'Image Credit: Maria Kazvan', thumb : '#', url : '#'},
devono diventare
{image : '<? echo $planimetria; ?>', title : 'Image Credit: Maria Kazvan', thumb : '#', url : '#'},
e così via per tutte le altre.
-
Non credo sia quello il problema, se controlli il codice tutta quella porzione di HTML rientra già dentro un <?php [...] echo [...] ?>
Forse non va bene strutturare così il file però... non capisco... rileggendo il codice mi sembra tutto corretto, o si tratta di una banale svista oppure ho proprio sbagliato a impostare il documento