Newsgroup: it.comp.www.php
Titolo: "resource id #4" --> ???

ho 2 tabelle, tariffe (volo, prezzo), e orari (volo, partenza, 
destinazione, oraP, oraA)
con queste 2 righe:
$result2 = mysql_query("SELECT volo FROM orari WHERE partenza = 
'$paese[part]' AND destinazione ='$paese[arr]'", $link_id);
$result3 = mysql_query("SELECT prezzo FROM tariffe WHERE volo = 
'$result2'", $link_id);
vorrei visualizzare il prezzo nel <td> seguente:
<th width="25%" nowrap>
<?=$result3 ?>
</th>
perchè mi scrive un misterioso " Resource id #4" anzichè il prezzo 
corrispondente??

 wrote in message
news:3D2C6DD5...@reggina.it...

mysql_query non ti da il risultato, ma un puntatore sul risultato. Devi
ancora estrarre prima i dati (mysql_fetch_row, mysql_fetch_assoc, ecc.).
it.php.net/mysql_fetch_assoc
$result2 = mysql_query("SELECT volo FROM orari WHERE partenza =
'$paese[part]' AND destinazione ='$paese[arr]'", $link_id);
$r=mysql_fetch_assoc($result2);
echo $r["volo"];
$result3 = mysql_query("SELECT prezzo FROM tariffe WHERE volo =
'$r[volo]'", $link_id);

 corrispondente??
Perche' non hai letto la documentazione su mysql_query
(
http://it.php.net/mysql_query).
..
mysql_query non ti da il risultato, ma un puntatore sul risultato. Devi
ancora estrarre prima i dati (mysql_fetch_row, mysql_fetch_assoc, ecc.).
http://it.php.net/mysql_fetch_assoc
$result2 = mysql_query("SELECT volo FROM orari WHERE partenza =
'$paese[part]' AND destinazione ='$paese[arr]'", $link_id);
echo "Trovato ".mysql_num_rows($result2)." risultati.";
$r=mysql_fetch_assoc($result2);
echo $r["volo"];
$result3 = mysql_query("SELECT prezzo FROM tariffe WHERE volo =
'$r[volo]'", $link_id);
$s=mysql_fetch_assoc($result3);
echo $s["prezzo"];

 echo $s["prezzo"];
niente da fare.. sempre casella bianca non mi dà nessun risultato :(

 wrote in message news:3D2D702...@reggina.it...

Sostituisci ancora le due righe delle query con questo:
$result2 = mysql_query("SELECT volo FROM orari WHERE partenza =
  '$paese[part]' AND destinazione ='$paese[arr]'", $link_id)
   or die(mysql_error());
$result3 = mysql_query("SELECT prezzo FROM tariffe WHERE volo =
   '$r[volo]'", $link_id)
   or die(mysql_error());

 
ancora niente da fare... casella senza valore restituito
ma perchč??

 wrote in message
news:3D2D7331...@reggina.it...

Non ho la sfera di cristallo (caduta) pronta...
Cmq. prova a:
stampare a schermo la query:
$q= "SELECT volo FROM orari WHERE partenza ='$paese[part]' AND destinazione
='$paese[arr]'"';
echo $q;
$result2 = mysql_query($q, $link_id)
    or die(mysql_error());
e cercare di capire perche' non va la query fatta cosi.
Magari provando a fare delle query a mano con mysql (il programma binario,
sia linux, sia windows). Oppure fare le query con phpMyAdmin
(
www.phpmyadmin.net
). Vedi anche qui:
http://php.dopoil.com/faq.php?mysqlPrompt
Se non riesci a fare la query, prova a mano in questo ordine:
CONNECT <database>; // metti il nome del database
SHOW tables;
SHOW FIELDS from orari;
SELECT COUNT(*) FROM orari;
SELECT * FROM orari LIMIT 1;
SELECT COUNT(*) FROM orari WHERE partenza ='ITALIA';
SELECT COUNT(*) FROM orari WHERE destinazione ='ITALIA';
ecc.

 
le query a mano su mysql vanno che è una bellezza.. mi restituiscono 
proprio quello che cerco, prima il volo, e poi il relativo prezzo..
ed è questo che mi dà in testa, perchè da mysql mi va tutto liscio e poi 
quando lo implemento nel codice mi si sbiella tutto..
grazie lo stesso cmq :D

 quando lo implemento nel codice mi si sbiella tutto..
Ma hai stampato a schermo le query in PHP?
Ci deve essere qualche differenza.
Oppure posti un estratto del database (CREATE + INSERT) e lo script, magari
si capisce meglio (finche' la mi sfera di cristallo e' in riparazione.
Ahhhh, quanto mi manca).
;-)

 Ahhhh, quanto mi manca).
Guarda che da adesso in avanti usciranno solo sfere di cristallo modello
Palladium.. funzionano solo per risolvere problemi asp+access :)
Spera che ti rimettano a posto quella vecchia.. oppure con php hai chiuso :P

 
[CUT]
argh!!
brutta sorpresa
stampando le query a mano in quel modo mi scrive cosě:
SELECT volo FROM orari WHERE partenza ='' AND destinazione =''
ma perchč?
:(

 wrote in message
news:3D2D85FE...@reggina.it...

Posta il codice (senza la robaccia HTML, tranne magari il form), versione
PHP
(riccordati, la sfera di cristallo e' molto KAPUTT).

 
allora questo è il form:
<form name=tratte method=get action="prezzi.php" onSubmit="return 
verData();">
Aeroporto di partenza
<br>
<select ID="selectPartenza" name="partenza">
<?php
include "./common_db.inc";
$link_id = db_connect('ium');
   if(!$link_id) error_message(sql_error());
$result = mysql_query("SELECT DISTINCT partenza FROM orari ORDER BY 
partenza ASC", $link_id);
$i = 0;
while($query_data = mysql_fetch_row($result)) {
     echo"<option value=$i>$query_data[0]</option>";
     $i++;
}
echo "</select><br><br>";
?>
Aeroporto di arrivo<br>
<select ID="selectArrivo" name="arrivo">
<?php
$result2 = mysql_query("SELECT DISTINCT destinazione FROM orari ORDER BY 
destinazione ASC", $link_id);
$j = 0;
while($query_data = mysql_fetch_row($result2)) {
     echo"<option value=$j>$query_data[0]</option>";
     $j++;
}
echo "</select><br><br>";
?>
<input type=submit name="submit" value="Invia" style="background: 
#990000"> </form>
e questo è prezzi.php:
<?php
include "./common_db.inc";
$link_id = db_connect('ium');
   if(!$link_id) error_message(sql_error());
$result = mysql_query("SELECT DISTINCT partenza FROM orari ORDER BY 
partenza ASC", $link_id);
while($query_data = mysql_fetch_row($result))
$paese[] = $query_data[0];
$part = $_GET[partenza];
$arr = $_GET[arrivo];
$result2 = mysql_query("SELECT volo FROM orari WHERE partenza =
   '$paese[part]' AND destinazione ='$paese[arr]'", $link_id)
    or die(mysql_error());
$r=mysql_fetch_array($result2);
echo $r["volo"];
$result3 = mysql_query("SELECT prezzo FROM tariffe WHERE volo =
    '$r[volo]'", $link_id)
    or die(mysql_error());
$s=mysql_fetch_array($result3);
echo $s["prezzo"];
?>
common_db.inc è un file in cui ho 2 funzioni (db_connect e sql_error)
</tr> 
</table>

 
non considerateli li ho dimenticati nel copia/incolla :)

     or die(mysql_error());
Un po' sporchino il tutto, c'e' molta confusione con la variabili ed il
flusso... ;-)
Andiamo passo per passo (un po' di tortura non fa mai male)
Come prima cosa dovresti inserire in prezzi.php
subito dopo il <?php :
  error_reporting(E_ALL);
Ed il tuo script ti insultera' un bel po'.
Le righe da capire/correggere (in base a questi insulti) sono:
$paese[]=$query_data[0];
$part = $_GET["partenza"];
$arr = $_GET["arrivo"];
(forse anche altri)
ed in conseguenza:
$result2 = mysql_query("SELECT volo FROM orari WHERE partenza =
   '$paese[part]' AND destinazione ='$paese[arr]'", $link_id)
    or die(mysql_error());
Tutti questi errori puoi facilmente evitare se metti sempre
error_reporting(E_ALL);
Altra cosa: avrai solo un risultato?
Fatto sta che il tuo while non e' limitato con {}
cerca anche di indentare il codice per vedere la struttura del programmino.
   while ($r = mysql_fetch_row($result)) {
      echo "qualcosa";
      // ...
   }
Adesso non mi e' molto chiaro la struttura e sembra che dovessi anche
ottimizzare le query.
HTH
Jurgen

 Jurgen
alla fine ho scelto un'altra strada.. meno elegante ma redditizia.. la 
scadenza č presto ed ho preferito cosě
grazie cmq per la pazienza :)

 la scadenza č presto ed ho preferito cosě
Prendete progetti senza sapere come si usa il martello, ma che
professionalita' e'?
JM2C

il sapiente Ic^A^rO dice:

so di un lago, in finlandia (vallo a trovare!!)
dove, se ti ci specchi dentro, vedi il piano di esecuzione SQL dei tuoi 
pensieri. dicono che sia illuminante e ti infonda onniscienza anche sui 
problemi del PHP... da provare!!
ciao
-- 
Punkarruso
mail:punkarruso(at)geniotradottoininglese(dot)it
pubblicità progresso:
http://www.gnu.org/philosophy/free-sw.it.html

 JM2C
è un esame universitario

 wrote in message
news:3D2EBEC8...@reggina.it...

LOL, questo non immaginavo. Scusa allora lo sfogo
('sta @^#+&-#! sfera di cristallo,
l'hanno aggiustata male, mo reclamo).
...pero' potevi fare una bella figura... ;-)

 č un esame universitario
Potevi dirlo prima.. č dal tuo primo post che mi chiedo per che compagnia
aerea stavi curando il sito :))
La cosa che non mi quadrava č che uno, poniamo dell'Alitalia, venisse qui a
chiedere come si stampavano correttamente i risultati di una query... :))
Adesso ho acquistato nuovamente un po' di fiducia.. casomai dovessi prendere
un aereo... ;)

 
eh lo so.. però se non funzionava non funzionava.. e lunedì devo far 
vedere sto progetto.. e non vedo l'ora di togliermelo davanti per 
scappare da qua e tornare a casa mia a mare
dopo ferragosto però ci darò dentro in maniera seria su php.. adesso non 
ho la forza di pensare più in là di "utile per passare l'esame"
e per come è strutturato quest'esame credo che il codice anche 
semplificato basti ed avanzi
addirittura chiedevano ASP.. ma mi sono rifiutato ed ho chiesto se il 
mio progetto potevo svilupparlo in un linguaggio "più stimolante e meno 
stupido di ASP" (testuali parole :) )
---> richiesta accettata :)

č un esame universitario
ROTFL!!!!!
--
PubbliProgress:
http://www.gruppokaos.it/pagine/Documenti/nestlč.htm
http://www.gruppokaos.it/pagine/Documenti/Controinformazione/un_opuscolo_scomodo.htm
http://www.gruppokaos.it/pagine/Documenti/Banche%20Dati/banche.htm

>ciao
Ehi, abbiamo quasi la stessa firma:)
a proposito, oggi ho sostenuto l'esame di sistemi
informativi ed ho presentato un progettino (un sito di
commercio elettronico fatto in una giornata:) ), con il
bonus del programma ridotto del 66,666%.
Risultato, ho studiato 3 giorni in tutto ed ho preso 30, e
l'esame non č dei piů semplici:)
E poi dicono che il crimine non paga!:]


 Ehi, abbiamo quasi la stessa firma:)
già... ma la mia è dinamica!!
storie di KNode...
ciao!
-- 
Punkarruso
mail:punkarruso(at)geniotradottoininglese(dot)it
pubblicità progresso:
http://www.ic.unicamp.br/~oliva/papers/free-software/selection-html/