- Home
- Categorie
- Coding e Sistemistica
- MYSQL e altri Database
- Semplice sito php/mysql...è veramente semplice ?
-
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
-
Vabbè, stavo cercando di andare ad occhio senza copiare il codice nell'IDE, ma arrivato a quest'ora dopo 10 ore di lavoro inizio a perdere colpi...
Allora, l'echo che mi dici non c'è. Infatti per me il codice corretto è questo:
<html> <head> <script type="text/javascript">var NREUMQ=NREUMQ||[];NREUMQ.push(["mark","firstbyte",new Date().getTime()]);</script> <?php include '../_php/connect.php'; ?> <?php $unita = $_POST['unita']; $foto = mysql_query("SELECT * FROM Appartamenti WHERE unita='$unita'"); $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: '<? echo $planimetria; ?>', title: 'Image Credit: Maria Kazvan', thumb: '#', url: '#'}, {image: '<? echo $foto1; ?>', title: 'Image Credit: Maria Kazvan', thumb: '#', url: '#'}, {image: '<? echo $foto2; ?>', title: 'Image Credit: Maria Kazvan', thumb: '#', url: '#'}, {image: '<? echo $foto3; ?>', title: 'Image Credit: Colin Wojno', thumb: '#', url: '#'}, {image: '<? echo $foto4; ?>', title: 'Image Credit: Colin Wojno', thumb: '#', url: '#'}, {image: '<? echo $foto5; ?>', title: 'Image Credit: Colin Wojno', thumb: '#', url: '#'}, {image: '<? echo $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> <script type="text/javascript">if(!NREUMQ.f){NREUMQ.f=function(){NREUMQ.push(["load",new Date().getTime()]);var e=document.createElement("script");e.type="text/javascript";e.src=(("http:"===document.location.protocol)?"http:":"https:")+"//"+"d1ros97qkrwjf5.cloudfront.net/42/eum/rum.js";document.body.appendChild(e);if(NREUMQ.a)NREUMQ.a();};NREUMQ.a=window.onload;window.onload=NREUMQ.f;};NREUMQ.push(["nrfj","beacon-1.newrelic.com","1b473294f5","550561","M1QBYUMCDUAEWkRfWgoeNkdYTAVcF0xdGUMGQgZaHxMLQw==",0,49,new Date().getTime(),"","","","",""]);</script> </body> </html>
1 - Visualizzi UN SOLO appartamento quindi praticamente il while che estrae il contenuto della query è inutile. Inoltre così facendo memorizzeresti solo l'ultimo estratto, non tutti;
2 - Ora stampi sul serio le variabili estratte con echo()
3 - Hai dei tag HTML, HEAD e BODY che si chiudono a dovereAssicurati però che foto1, foto2, ecc., contengano il PERCORSO dell'immagine. Perché così facendo stai supponendo che quelle immagini siano nella root. Se sono sotto immagini/appartamenti/, devi modificare anche il modo di stampare le immagini nel javascript, aggiungendo il percorso prima.
EDIT: metti un if(!$foto) echo mysql_error() così se la query va in errore sai perché. Verifica anche il valore di mysql_num_rows($foto), per assicurarti che estragga almeno un record da quella query.
-
Ignora categoricamente gli SCRIPT contenenti le parole NREUMQ che ci sono nell'header e nel footer del codice che ti ho postato. Per qualche motivo, il Forum GT aggiunge i parametri di monitoraggio di New Relic nei codici HTML che posti nel tag CODE, quando usi la risposta rapida. Eliminali dal codice che ho postato.
-
Grazie mille, avevo intuito e li avevo già tolti... Sfortunatamente il risultato non cambia... Continua a non trovare le immagini, ho provato a inserire un'immagine fissa, come nella demo, ed il resto da MySql... ma vede solo la prima immagine, sia nella mia versione che nella tua. Indi per cui funzionare funziona tutto, fatto salvo che non riesco a fare in modo che le immagini vengano passate da una variabile condizionata da un POST.
Il numero dell'appartamento però lo vede sempre, quindi il problema non è nel post (e tanto meno nella pagina precedente)... HELP!!! Non ne vengo a capo!
-
Scusate se posto nuovamente io, ma le ho veramente provate tutte, il codice è corretto, ma non stampa i link. Mi viene un dubbio, potrebbe essere che uno dei file .js abbia un filtro di controllo e mi blocchi lo script? Mi sembra strano perché dovrebbero lavorare su due livelli diversi, uno lato server uno lato client, ma forse se intervenisse prima lo script js FORSE è possibile che mi blocchi la pagina html? (Mi sto incasinando la testa, non capisco neanche più quello che scrivo, spero che qualcuno sia in grado di interpretare).
Ancora scusate ciao a tutti!!!!
PS: di seguito per comodità il link ai tre file js
pomba25.it/_galleria/js/jquery.easing.min.js
pomba25.it/_galleria/js/supersized.3.2.7.js
pomba25.it/_galleria/js/supersized.3.2.7.min.js
-
Scusa, ma qual è il form che passa il parametro "unità"? Linkare la gallery non ti serve a nulla, dobbiamo passargli il parametro unità per far lavorare quello script.
-
Prima di tutto grazie per l'assidua assistenza, sei molto gentile. Ad ogni modo ti incollo anche la porzione di codice che dovrebbe passare il parametro "unita". Esiste la probabilità che il parametro non venga passato correttamente, però mi stupisce il fatto che il titolo della foto restituisce correttamente il parametro unità. (il parametro che mi interessa è l'unità abitativa, tuttavia il parametro impostato è "unita" volutamente senza accento, lo chiarisco giusto per escludere la possibilità che si tratti di un banale errore di sintassi o battitura). Di seguito il link alla pagina "madre" così da poter controllare tu stesso il funzionamento e/o eventuali anomalie.
Ancora grazie, CIAO!
pomba25.it/_prove/appartamenti-bis.php
echo "<form action='../_galleria/galleria.php' method='post' name='appartamenti'>"; echo "<!-- TIPOLOGIA A -->"; $tipo = mysql_query("SELECT * FROM Appartamenti WHERE id='$A'"); while($row = mysql_fetch_array($tipo)) { echo "<input type='submit' class='sx-a' name='unita' value='".$row['unita']."'/>"; echo "<p class='corto-a'><br/>".$row['mq']."</p> <p class='lungo1-a'><br/>".$row['terrazzo']."</p> <p class='lungo2-a'><br/>".$row['canone']."</p> <p class='dx-a'><br/>".$row['disponibile']."</p>"; } echo '<!-- TIPOLOGIA B -->'; $tipo = mysql_query("SELECT * FROM Appartamenti WHERE id='$B'"); while($row = mysql_fetch_array($tipo)) { echo "<input type='submit' class='sx-b' name='unita' value='".$row['unita']."'/>"; echo "<p class='corto-b'><br/>".$row['mq']."</p> <p class='lungo1-b'><br/>".$row['terrazzo']."</p> <p class='lungo2-b'><br/>".$row['canone']."</p> <p class='dx-b'><br/>".$row['disponibile']."</p>"; } echo' <!-- TIPOLOGIA C -->'; $tipo = mysql_query("SELECT * FROM Appartamenti WHERE id='$C'"); while($row = mysql_fetch_array($tipo)) { echo "<input type='submit' class='sx-c' name='unita' value='".$row['unita']."'/>"; echo "<p class='corto-c'><br/>".$row['mq']."</p> <p class='lungo1-c'><br/>".$row['terrazzo']."</p> <p class='lungo2-c'><br/>".$row['canone']."</p> <p class='dx-c'><br/>".$row['disponibile']."</p>"; } echo '<!-- TIPOLOGIA D -->'; $tipo = mysql_query("SELECT * FROM Appartamenti WHERE id='$D'"); while($row = mysql_fetch_array($tipo)) { echo "<input type='submit' class='sx-d' name='unita' value='".$row['unita']."'/>"; echo "<p class='corto-d'><br/>".$row['mq']."</p> <p class='lungo1-d'><br/>".$row['terrazzo']."</p> <p class='lungo2-d'><br/>".$row['canone']."</p> <p class='dx-d'><br/>".$row['disponibile']."</p>"; } echo '<!-- TIPOLOGIA E -->'; $tipo = mysql_query("SELECT * FROM Appartamenti WHERE id='$E'"); while($row = mysql_fetch_array($tipo)) { echo "<input type='submit' class='sx-e' name='unita' value='".$row['unita']."'/>"; echo "<p class='corto-e'><br/>".$row['mq']."</p> <p class='lungo1-e'><br/>".$row['terrazzo']."</p> <p class='lungo2-e'><br/>".$row['canone']."</p> <p class='dx-e'><br/>".$row['disponibile']."</p>"; } echo '<!-- TIPOLOGIA F -->'; $tipo = mysql_query("SELECT * FROM Appartamenti WHERE id='$F'"); while($row = mysql_fetch_array($tipo)) { echo "<input type='submit' class='sx-f' name='unita' value='".$row['unita']."'/>"; echo "<p class='corto-f'><br/>".$row['mq']."</p> <p class='lungo1-f'><br/>".$row['terrazzo']."</p> <p class='lungo2-f'><br/>".$row['canone']."</p> <p class='dx-f'><br/>".$row['disponibile']."</p>"; } echo "</div> <div id='appartamento'>"; // GENERALE PIANTINE $pianta_piano = mysql_query("SELECT * FROM Appartamenti WHERE tipologia='$TIPO'"); while($row_piano = mysql_fetch_array($pianta_piano)) { echo "<a href='appartamento.php' class='".$row_app['class']."'><img src='".$row_piano['pianta']."' alt='".$row_piano['unita']."' /></a>"; } $pianta_app = mysql_query("SELECT * FROM Appartamenti WHERE piano='$PIANO'"); while($row_app = mysql_fetch_array($pianta_app)) { echo "<input type='image' name='unita' value='".$row_app['unita']."' class='".$row_app['class']."' src='".$row_app['pianta']."'/>"; }
-
Ciao,
ho verificato con un debugger HTTP, dalla pagina che hai linkato il parametro unita viene passato correttamente.
Quindi l'errore è da ricercarsi nella pagina ricettiva.
Per favore, applica i controlli che ti ho indicato:- sulla variabile $foto, quello in cui memorizzi il buffer della query, va controllata come segue
[php]
if (!$foto) {
echo mysql_error();
exit();
}
if (mysql_num_rows($foto) == 0) {
echo "Non ci sono record per questa unità.";
exit();
}
[/php] - subito dopo l'estrazione della variabile $row, stampa con
[php]
print_r($row);
[/php]
e posta l'output.
- sulla variabile $foto, quello in cui memorizzi il buffer della query, va controllata come segue
-
Fatto... errore restituito "Cant connect to local MySQL Server through socket '/var/lib/mysql/mysql.sock'(2).
Le mie conoscenze autodidattiche di PHP sono limitate, capisco a stento l'errore, ma non comprendo assolutamente le ragioni, visto che uso un MySql remoto e non locale. Ma soprattutto il parametro unita viene restituito correttamente, quindi la connessione al DB funziona???
:?:?:?:?:?:?:?
Riesci ad uscirne??
GRAZIEEEEE
-
Fatto... errore restituito "Cant connect to local MySQL Server through socket '/var/lib/mysql/mysql.sock'(2).
Le mie conoscenze autodidattiche di PHP sono limitate, capisco a stento l'errore, ma non comprendo assolutamente le ragioni, visto che uso un MySql remoto e non locale. Ma soprattutto il parametro unita viene restituito correttamente, quindi la connessione al DB funziona???
:?:?:?:?:?:?:?
Riesci ad uscirne??
GRAZIEEEEE
-
La connessione al DB non funziona... nella pagina che estrae il record la fai la connessione? I dati host, user, password e nome db sono corretti?
-
Ho risolto!!!! Grazie Francesco!!! Nei vari copia, incolla e sostituisci mi aveva aggiunto caratteri inutili alla stringa "include" che includeva il codice di connessione al DB.
Grazie mille!!!
Ciao