Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Hisense A85N: il ritorno all’OLED è convincente e alla portata di tutti
Hisense A85N: il ritorno all’OLED è convincente e alla portata di tutti
Dopo alcuni anni di assenza dai cataloghi dei suoi televisori, Hisense riporta sul mercato una proposta OLED che punta tutto sul rapporto qualità prezzo. Hisense 55A85N è un televisore completo e versatile che riesce a convincere anche senza raggiungere le vette di televisori di altra fascia (e altro prezzo)
Recensione Borderlands 4, tra divertimento e problemi tecnici
Recensione Borderlands 4, tra divertimento e problemi tecnici
Gearbox Software rilancia la saga con Borderlands 4, ora disponibile su PS5, Xbox Series X|S e PC. Tra le novità spiccano nuove abilità di movimento, un pianeta inedito da esplorare e una campagna che lascia al giocatore piena libertà di approccio
TCL NXTPAPER 60 Ultra: lo smartphone che trasforma la lettura da digitale a naturale
TCL NXTPAPER 60 Ultra: lo smartphone che trasforma la lettura da digitale a naturale
NXTPAPER 60 Ultra è il primo smartphone con tecnologia NXTPAPER 4.0 per il display, un ampio IPS da 7,2 pollici. Con finitura anti-riflesso, processore MediaTek Dimensity 7400, fotocamera periscopica e modalità Max Ink per il detox digitale, NXTPAPER 60 Ultra punta a essere il riferimento tra gli smartphone pensati per il benessere degli occhi.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 15-12-2003, 22:42   #1
Iuzzo
Senior Member
 
L'Avatar di Iuzzo
 
Iscritto dal: Dec 2001
Città: Altidona (AP)
Messaggi: 349
Urgente php e mysql

Ciao ragazzi, ho un problema con php. Tra pochi giorni debbo consegnare una tesina per un esame e sono 2 giorni che perdo tempo appresso a sta cosa.
Debbo recuperare i dati da un db mysql v4.1.0 alpha con una query php v4.3.4. I suddetti dati (una colonna di n numeri) li debbo mettere in una lista di selezione su una pagina html (salvata con estensione.php). Le istruzioni che uso sono le seguenti:

<?php
$connection = mysql_connect("localhost", "root", "")
or die ("Connessione fallita!".mysql_errno().mysql_error());
if($connection) mysql_select_db("Telefonia");

$query="SELECT Numero FROM contratto";

$ris=mysql_query($query)
or die("Problema nella lettura dei numeri".mysql_errno().mysql_error());

?>
Numero: <SELECT name="numero">
<OPTION Value=0>Seleziona un numero
<?php
While(mysql_fetch_row($ris))
echo "<OPTION Value=$ris[0]>$ris[0] </OPTION>";
?>
</SELECT>

In realtà, la query trova il numero giusto di elementi lo capisto perchè mi aggiunge alla lista N righe vuote, dove N è corretto (ho controllato),anche stampando direttamente il risultato della select con echo o print dentro lo script, mi trovo sempre con campi vuoti.

vi ringrazio anticipatamente
Iuzzo è offline   Rispondi citando il messaggio o parte di esso
Old 16-12-2003, 00:36   #2
recoil
Senior Member
 
L'Avatar di recoil
 
Iscritto dal: Jul 2002
Città: Milano
Messaggi: 19148
ho lavorato su php e mysql fino ad ora e scusami se magari dico cose banali ma poi me ne vado a letto...

non è che il problema sta nel mysql_fetch_row?
io uso sempre mysql_fetch_array perché mi pare che avevo avuto qualche problema con altri tipi di funzioni (forse proprio la fetch_row che usi tu).

cmq non sono un grande esperto di php, devo riconoscerlo... ma tu intanto prova, ci metti un attimo
recoil è offline   Rispondi citando il messaggio o parte di esso
Old 16-12-2003, 10:33   #3
Iuzzo
Senior Member
 
L'Avatar di Iuzzo
 
Iscritto dal: Dec 2001
Città: Altidona (AP)
Messaggi: 349
Avevo già provato, sia con mysql_fetch_row sia con mysql_fetch_array, sia con mysql_fetch_object, ma danno tutti lo stesso esito. Non c'è nessun "guru" del php qui nel forum che mi possa aiutare?

cmq recoil grazie lo stesso.
Iuzzo è offline   Rispondi citando il messaggio o parte di esso
Old 16-12-2003, 14:16   #4
Python
Senior Member
 
Iscritto dal: Jul 2002
Messaggi: 2183
Re: Urgente php e mysql

Quote:
Originariamente inviato da Iuzzo
<?php
$connection = mysql_connect("localhost", "root", "")
or die ("Connessione fallita!".mysql_errno().mysql_error());
if($connection) mysql_select_db("Telefonia");

$query="SELECT Numero FROM contratto";

$ris=mysql_query($query)
or die("Problema nella lettura dei numeri".mysql_errno().mysql_error());

?>
Numero: <SELECT name="numero">
<OPTION Value=0>Seleziona un numero
<?php
While(mysql_fetch_row($ris))
echo "<OPTION Value=$ris[0]>$ris[0] </OPTION>";
?>
</SELECT>
scusa non è che mi diresti com'è composta la tabella?

cioè non ho capito il problema, cosa devi visualizzare in quella lista? e come è strutturata la tabella?

cioè se devi far vedere singoli numeri tanto vale che conti quante righe escono dalla query e fai u nwhile semplicissimo....

Codice:
<?php
  While(mysql_fetch_row($ris))
    echo "<OPTION Value=$ris[*?label-colonna?*]>$ris[*?label-colonna?*] </OPTION>";
?>
__________________
NB: HP NX6310 | Intel Core Solo 1,66 | 1024 DDR2 5300 | 60 GB 5400 rpm | Intel GMA 950 | DVDRW DL
PC: AMD Athlon 64 3800+ | 1024 DDR 3200 | ATI X600 256MB | HDD 250 GB 7200 rpm | DVD RW DL HP
Ho concluso recentemente con: aleph0 - ayyyoooo

Ultima modifica di Python : 16-12-2003 alle 14:26.
Python è offline   Rispondi citando il messaggio o parte di esso
Old 16-12-2003, 14:22   #5
Python
Senior Member
 
Iscritto dal: Jul 2002
Messaggi: 2183
se devi creare una lista con la scelta di opzioni solo numeri (cioè una lista di numeri, tanti quante sono le righe uscite dalla query) fai semplicemente cosi

Quote:
Originariamente inviato da Iuzzo
<?php
$connection = mysql_connect("localhost", "root", "")
or die ("Connessione fallita!".mysql_errno().mysql_error());
if($connection) mysql_select_db("Telefonia");

$query="SELECT Numero FROM contratto";

$ris=mysql_query($query)
or die("Problema nella lettura dei numeri".mysql_errno().mysql_error());

$numfind = mysql_num_rows($ris);

?>
Numero: <SELECT name="numero">
<OPTION Value=0>Seleziona un numero
<?php
$num = "1";

While($numfind != "0"){
echo "<OPTION Value=$num]>$num </OPTION>";
$num++;
$numfind--; /* si diminuiva cosi? */
}

?>
</SELECT>
__________________
NB: HP NX6310 | Intel Core Solo 1,66 | 1024 DDR2 5300 | 60 GB 5400 rpm | Intel GMA 950 | DVDRW DL
PC: AMD Athlon 64 3800+ | 1024 DDR 3200 | ATI X600 256MB | HDD 250 GB 7200 rpm | DVD RW DL HP
Ho concluso recentemente con: aleph0 - ayyyoooo
Python è offline   Rispondi citando il messaggio o parte di esso
Old 16-12-2003, 21:34   #6
Iuzzo
Senior Member
 
L'Avatar di Iuzzo
 
Iscritto dal: Dec 2001
Città: Altidona (AP)
Messaggi: 349
La tabella contiene dei numeri telefonici oltre che ad altri dati.
Quendi dalla tabella debbo estrarre tutti i numeri telefonici (solo), e debbo poterli selezionare da una lista. Come corrispondente valore per ogni numero selezionato, debbo avere lo stesso numero.

spero di essermi spiegato un po' meglio, ammetto che probabilmente non sono stato molto chiaro con il primo post.
Iuzzo è offline   Rispondi citando il messaggio o parte di esso
Old 16-12-2003, 22:00   #7
Python
Senior Member
 
Iscritto dal: Jul 2002
Messaggi: 2183
cioè tipo così?

<OPTION Value=028783409>028783409</OPTION>

allora al posto di 0 devi mettere il label che hai dato alla colonna contenente i numeri di telefono nella tua tabella


Quote:

<?php
While(mysql_fetch_array($ris))
echo "<OPTION Value=\"$ris[*?label-colonna?*]\">$ris[*?label-colonna?*] </OPTION>";
?>
e non 0
__________________
NB: HP NX6310 | Intel Core Solo 1,66 | 1024 DDR2 5300 | 60 GB 5400 rpm | Intel GMA 950 | DVDRW DL
PC: AMD Athlon 64 3800+ | 1024 DDR 3200 | ATI X600 256MB | HDD 250 GB 7200 rpm | DVD RW DL HP
Ho concluso recentemente con: aleph0 - ayyyoooo

Ultima modifica di Python : 16-12-2003 alle 22:04.
Python è offline   Rispondi citando il messaggio o parte di esso
Old 16-12-2003, 22:30   #8
Iuzzo
Senior Member
 
L'Avatar di Iuzzo
 
Iscritto dal: Dec 2001
Città: Altidona (AP)
Messaggi: 349
Ho provato come mi hai detto, non funziona, ma cmq era una prova che avevo già fatto. Usando mysql_fetch_row($ris) , per accedere ai dadi di ris, bisogna usare l'indice nomerico, se invece usi mysql_fetch_object($ris) allora devo usare l'indice associativo (la label della colonna che vuoi leggere), se usi mysql_fetch_array($ris,OPT), hai la possibilità di scegliere quale indice utilizzare, quello numerico, quello associativo o entrambi. Ho provato tutte queste soluzioni, il risultato è sempre quello, una lista con N righe bianche al posto dei numero telefonici (dove N rappresenta il giusto numero di righe che dovrebbero agiungersi alla lista).

Non ti viene in mente niente, anche qualche trucco per aggirare l'ostacolo?? Io ci sto diventando matto!! Ho messo le mani sul php per la prima volta 6 giorni fa e già mi stà passando la voglia di usarlo . Oggi ho scaricato un sacco di esempi di script e tutti funzionano bene.... solo il mio fa i capricci!!
Iuzzo è offline   Rispondi citando il messaggio o parte di esso
Old 17-12-2003, 13:29   #9
Python
Senior Member
 
Iscritto dal: Jul 2002
Messaggi: 2183
prova una cagata simile


Quote:

<?php
While(mysql_fetch_array($ris))

$temp = $ris[label];

echo "<OPTION Value=\"$temp\">$temp </OPTION>";
?>
__________________
NB: HP NX6310 | Intel Core Solo 1,66 | 1024 DDR2 5300 | 60 GB 5400 rpm | Intel GMA 950 | DVDRW DL
PC: AMD Athlon 64 3800+ | 1024 DDR 3200 | ATI X600 256MB | HDD 250 GB 7200 rpm | DVD RW DL HP
Ho concluso recentemente con: aleph0 - ayyyoooo
Python è offline   Rispondi citando il messaggio o parte di esso
Old 17-12-2003, 16:53   #10
Iuzzo
Senior Member
 
L'Avatar di Iuzzo
 
Iscritto dal: Dec 2001
Città: Altidona (AP)
Messaggi: 349
Ho risolto, non so come, ho riscritto il codice ed ora funziona. Ti riporto di seguito l'attuale codice, confrontalo con quello che avevo scritto prima e dimmi che cambia (apparte il nome delle variabili)!..

<?php
$db_con = mysql_connect("localhost","root","")
or die("Problema nella nella connessione".mysql_errno().mysql_error());
if($db_con) mysql_select_db("telefonia");

//$db_query="SELECT Numero FROM contratto";
?>

<

<?php

echo "Numero: <SELECT name=\"numero\">";
echo "<OPTION Value=0>Seleziona un numero";

$db_ris=mysql_query("Select Numero from contratto;")
or die("Problema nella lettura dei numeri".mysql_errno().mysql_error());

while ($row = mysql_fetch_row($db_ris))
echo "<option value=\"$row[0]\">$row[0]</option>\n";

echo "</select>";

?>


ciao
Iuzzo è offline   Rispondi citando il messaggio o parte di esso
Old 17-12-2003, 17:11   #11
Iuzzo
Senior Member
 
L'Avatar di Iuzzo
 
Iscritto dal: Dec 2001
Città: Altidona (AP)
Messaggi: 349
Ora ho un'altro problema!
In base ad un confronto (un if) fra due stringhe, debbo selezionare o meno un elemento di una lista di selezione. Rispettivamente le due stringhe sono: 1) un parametro (valore di una text box della pag php precedente) passato attraverso html (action="pagina.php"?parametro) e caricato tramite $HTTP_GET_VARS. 2) una stringa risultante da una select (che restituisce tutti i valori di una colonna di una tabella). Ora, anche essendo sicuro che la 1 è presente nella 2, non c'è verso di effettuare questo confronto per ottenere il giusto risultato!! Non capisco se il problema, ho provato con "strcmp","strncmp","==", ho provato a convertire entrambe in stringhe con "sprintf" per poi fare il confronto, ma non ne vengo fuori!!!
Giuro, il php mi sta simpatico... perchè lui invece ce l'ha con me?
Iuzzo è offline   Rispondi citando il messaggio o parte di esso
Old 17-12-2003, 17:56   #12
Python
Senior Member
 
Iscritto dal: Jul 2002
Messaggi: 2183
prova cosi


Codice:
$stringa1 = "ciao";
$stringa2 = "ciaoamico";

if ( strchr($stringa2, $stringa1) ){


}
la funzione strcmp() esegue un confronto case-sensitive tra due stringhe str1 e str2 restituendo un valore minore di 0 se str1 è minore di str2, uguale a 0 se str1 è uguale a str2, maggiore di 0 se str1 è maggiore di str2


ciao
__________________
NB: HP NX6310 | Intel Core Solo 1,66 | 1024 DDR2 5300 | 60 GB 5400 rpm | Intel GMA 950 | DVDRW DL
PC: AMD Athlon 64 3800+ | 1024 DDR 3200 | ATI X600 256MB | HDD 250 GB 7200 rpm | DVD RW DL HP
Ho concluso recentemente con: aleph0 - ayyyoooo
Python è offline   Rispondi citando il messaggio o parte di esso
Old 18-12-2003, 10:11   #13
Iuzzo
Senior Member
 
L'Avatar di Iuzzo
 
Iscritto dal: Dec 2001
Città: Altidona (AP)
Messaggi: 349
Ho risolto anche questo. Il problema non era usare strcmp o strcasecmp, lo conoscevo lil loro utilizzo, il problema (penso sia un bug di php ), è che la variabile che passavo la chiamavo "par", una volta importata la salvavo così $Par=$http_get_vars["par"];. E poi non so cosa diavolo succedeva ma, in sostanza, non funzionava il confronto. Cambiando nome a $Par in $par (minuscolo) ed utilizzando strncasecmp() sui primi 16 caratteri, tutto funziona come dovrebbe.
Ancora grazie per l'aiuto.
Ora vorrei fare una cosa ma non so se è possibile. In base alla selezione di un controllo "radio" (penso si chiami così, le caselle per la selezione), vorrei far comparire dei campi di input piuttosto che altri (le possibili scelte sono 2) sulla stessa pagina che ospita il controllo. Dovrebbe essere possibile, e dovrebbe entrarci qualcosa l'azione $PHP_SELF, di cui però il manuale che ho io non parla (dice solo che esiste ).

ps:giuro che poi non rompo + le scattole!

ciao e di nuovo grazie
Iuzzo è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Hisense A85N: il ritorno all’OLED è convincente e alla portata di tutti Hisense A85N: il ritorno all’OLED è convi...
Recensione Borderlands 4, tra divertimento e problemi tecnici Recensione Borderlands 4, tra divertimento e pro...
TCL NXTPAPER 60 Ultra: lo smartphone che trasforma la lettura da digitale a naturale TCL NXTPAPER 60 Ultra: lo smartphone che trasfor...
Un fulmine sulla scrivania, Corsair Sabre v2 Pro ridefinisce la velocità nel gaming Un fulmine sulla scrivania, Corsair Sabre v2 Pro...
Nokia Innovation Day 2025: l’Europa ha bisogno di campioni nelle telecomunicazioni Nokia Innovation Day 2025: l’Europa ha bisogno d...
La Cina è 'nanosecondi dietro' ag...
Scontro tra robot low-cost: Eureka NERE1...
Dreame L40 Ultra AE crolla di prezzo su ...
Russia, roadmap fino al 2037 per sistemi...
Ecovacs X9 PRO OMNI, da 1.199€ a 799€ og...
Helsing CA-1 Europa: il nuovo drone da c...
Windows 10 riceve l'ultimo aggiornamento...
Oggi sono questi i 3 migliori PC portati...
Amazon, Google e la sudditanza verso NVI...
AMD Instinct MI450X fa paura a NVIDIA? S...
DJI perde la causa negli Stati Uniti: co...
Leonidas abbatte 49 droni in un colpo so...
The Social Reckoning: il seguito di The ...
iPhone 16 si trova ora su Amazon a soli ...
Amazon fa a pezzi i prezzi dei monitor g...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 08:57.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v