Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
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: 19150
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


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
La Serie A con DAZN e Amazon Prime con l...
Giochi Ubisoft su Steam senza Ubisoft Co...
Miami Beach ha autorizzato la maxi opera...
Apple regala un altro anno di funzioni s...
Alla fine è successo davvero: Vol...
Il meglio di Amazon del weekend in uno s...
Speciale TV in offerta su Amazon: Hisens...
Non c'è pace per Trezor: 347.000 e-mail ...
È un portatile Dell e li vale tut...
Apple iPhone 17 Pro Max 256GB a 1.195€ (...
GPT-6 Astra è davvero AGI o non s...
LG OLED G6S 48'' a 845€ e G6 55'' a 1368...
Mantax Otax: il malware Android che crip...
Musk incassa un altro maxi contratto IA:...
Le vendite di EV sono esplose in tutto i...
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: 19:48.


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