Aiutate un proncipiante..................

giovy58

Nuovo Utente
21 Nov 2006
12
0
0
www.siracusacity.com
Salve a tutti, ho cominciato da poco a studiare il php, ma da autodidatta è molto complicato, quindi per meglio capire cosa leggo, uso modificare dei lavori già pronti.
Vorrei poter pubblicare degli articoli nel mio sito (tipo redazione sportiva)attualmente li scrivo tutti manualmente (http://www.srcity.it), sono riuscito a modificare una struttura esistente , ho creato un db mysql, riesco ad inserire i record, ma non l'immagine ( quando ci provo mi dice errore copia file )ed a differenza di un'altro lavoro di modifica, dove sono riuscito anche a leggere quello che mettevo nel db ma non c'erano immagini e categorie, con questo nuovo lavoro non riesco nemmeno a leggere.
Capisco che chiedo l'impossibile, ma ci sarebbe qualcuno disposto ad aiutarmi ed a farmi capire qualcosa???
 

qui

Nuovo Utente
22 Nov 2006
11
0
0
Ciao Giovy58 non ho ben capito cosa vuoi fare con le foto (Upload???), se ti serve solamente di visualizzarle, puoi creare un campo nel db che contenga l'indirizzo della foto (/directoryfoto/nomefoto.xxx) per esempio e quindi estrarre questo campo per la successiva visualizzazione.
Per leggere i valori dal db è necessario che tu stabilisca una connessione con il db quindi imposti la sql per la selezione dei dati ad es.
$strSql = "SELECT * FROM tabella"
inserendo se ti serve le varie clausole di interrogazione es.
ORDER BY, LIMIT etc.
e quindi esegui la query con
$query = mysql_query($strSql) or die(mysql_error());
a questo punto esegui
$result = mysql_fetch_array($query)
ed ottieni ai tuoi dati a cui pui accedere tramite
$result['nomeCampo']
P.S. se hai più record da scorrere come penso sia nel tuo caso puoi usare un ciclo while ad es.
while($result = mysql_fetch_array($query)){
printf($result['titolo'])
}
che stampa tutti i titoli dei tuoi articoli.
 

giovy58

Nuovo Utente
21 Nov 2006
12
0
0
www.siracusacity.com
Innanzitutto ti ringrazio per avermi risposto, quasi non ci speravo, praticamente come detto precedentemente, oltre ad aver cominciato da pochi giorni a cercare di capire come funziona il php, per meglio capire la logica ho pensato, (dopo aver letto un pò di pagine di un grosso libro) di modificare un db presente e realizzato per me da un amico che riguarda due strutture del mio sito gli annunci di lavoro ed il mercatino dell'usato il tutto per adattarlo per un'altro mio amico giornalista che ha il piacere di pubblicare i suoi articoli nel mio sito. Dopo questa lunga premessa e spero di non averti annoiato, con le modifiche alle strutture originali sono arrivato a fare questo http://www.siracusacity.com/redazione/vis_art.php
come puoi vedere, sto cercando di impaginare il tutto (COSA CHE MI RICHIEDERà QUALCHE MESE DI LAVORO:dipser: ), ma, la cosa più grave è che non riesco a far caricare le immagini nel db, tantomeno a richiamarle, ed immagina poi cosa cosa ci vorrà per capire come impaginare tutto per visualizzare tutto in questo modo attualmente manuale,
http://www.srcity.it/sport
Immagino cosa vorresti rispondere..... ti prego di risparmiarmelo
L'originale funziona tutto, le modifiche da me fatte creano sempre dei problemi, anche perchè non ho alcuna vera conoscenza del linguaggio, almeno per adesso.
Se vuoi posso copiare i listati del codice delle pagine, sempre se la tua pazienza non ha limiti altrimenti non preoccuparti.
 

qui

Nuovo Utente
22 Nov 2006
11
0
0
Per le immagini devi creare un campo di testo nella tabella del db che ti interessa e dentroscriverci l'indirizzo dell'immagine, a questo proposito creerai una directory(cartella) immagini in cui metterai tutte le immagini, scusa il gioco di parole, poi quando ti servirà di visualizzarle, a quanto ho capito, insieme al record di interesse articolo: di vendita, di giornale....., dovrai estrarre dalla tabella del db il campo contenente l'indirizzo dell'immagine come ti ho gia detto ed inserirlo in un tag html di tipo img ovvero:
la situazione più semplice è questa anche se può e ("deve") essere raffinata

- connessione al db
- $result = mysql_fetch_array(mysql_query("SELECT * FROM table WHERE id = articolo di interesse"))
- entri in html
- <img src="<?php print($result['immagine'])?>" border="x" \>
a questo punto hai la tua immagine visibile sulla pagina.

PS il posizionamento degli oggetti nella pagina va realizato attraverso i fogli di stile (.css).
 

giovy58

Nuovo Utente
21 Nov 2006
12
0
0
www.siracusacity.com
:fonzie: Grazie per la Tua cortesia, ma purtroppo come detto prima, ancora non conosco il php, riesco solo a modificare.
Lavoro su scritte fatte da un mio amico, e quindi v isto che già ci capisco pochissimo lì, immagina se riesco ad inserire dei comandi senza sapere a quali variabili farle corrispondere.
:book: ci sbatterò la testa, anche se so di non riuscirci
Grazie
 

qui

Nuovo Utente
22 Nov 2006
11
0
0
Ciao Giovy58, ti posso consigliare una rivista secondo me abbastanza valida php professionale, li puoi vedere qualcosa spiegato chiaramente, ti consiglio inoltre dio iniziare a scrivere qualcosa di tuo pugno solo così puoi vedere capirci qualcosa cmq sempre a disposizione ciao qui
 

giovy58

Nuovo Utente
21 Nov 2006
12
0
0
www.siracusacity.com
oggi mi sono esaurito

Salve QUI, scusa se ti disturbo, ma a forza di scopiazzare a dx e sx, mi sono mezzo esaurito:confused:
dal db che funziona regolarmente non riesco a tirar fuori il campo che mi interessa, in quanto non voglio leggerli tutti
http://www.siracusacity.com/miodb/ricerca_cliente.html
dopo che inserisco il numero mi restituisce una pagina vuota di dati , cosa posso fare?????
mi potresti correggere il codice per favore?
</head>

<div align="center">
<TABLE cellSpacing=0 cellPadding=0 width=700 border=0>
<tr><td>
<h3><p align=center>Questo il tuo dato richiesto</p></h3>
<br>
<?php
$arr = array(n);
foreach ($arr as $value)
{
echo "$value\n";
}

$db=mysql_connect("62.149.150.11", "Sqlxxxxx", "xxxxxxx");
$query = "SELECT * FROM 'mio' WHERE id='$id' ";
$rs = mysql_query($query,$db);

//$comando='SELECT * FROM `mio` order by $id'; // (conf='T')
//$rs=mysql_db_query("Sql11898_2",$comando);

//$nr = mysql_num_rows($id);
echo "<tr><td colspan=2 align=center bgcolor=#FFFFCC><b>--- Dati n° $id ---</b></td></tr>";

//$y=0;
//while($dati=mysql_fetch_row ($rs))

$dati=mysql_result($rs,id);

{

//if ($y==0)

echo "<table align=center border=1 width=70%>";

$id=$dati[0];

echo "<tr><td colspan=2 align=center bgcolor=#FFFFCC><b>--- Inserimento Dati Personali n° $id ---</b></td></tr>";
$nome=$dati[1];
$cognome=$dati[2];
$via=$dati[3];
$citta=$dati[4];
$tel=$dati[5];
$cel=$dati[6];
$posta=$dati[7];
$dat=$dati[8];
$marca=$dati[9];
$modello=$dati[10];
$famiglia=$dati[11];
$gar=$dati[12];
$difetto=$dati[13];
$intervento=$dati[14];
$note=$dati[15];


echo "<tr><td><b>NOME:</b></td><td>$nome</td></tr>";
echo "<tr><td><b>COGNOME:</td><td>$cognome</td></tr>";
echo "<tr><td><b>Via:</td><td>$via</td></tr>";
echo "<tr><td><b>Città:</td><td>$citta</td></tr>";
echo "<tr><td><b>Telefono:</b></td><td>$tel</td></tr>";
echo "<tr><td><b>Cellulare:</b></td><td>$cel</td></tr>";
echo "<tr><td><b>E_mail:</b></td><td>$posta</td></tr>";

echo "<tr><td colspan=2 align=center bgcolor=#CCFFFF><b>--- Inserimento Dati Articolo n° $id ACQUISITO in Data $dat ---</b></td></tr>";
echo "<tr><td><b>Marca:</b></td><td>$marca</td></tr>";
echo "<tr><td><b>Modello:</b></td><td>$modello</td></tr>";
echo "<tr><td><b>Famiglia:</b></td><td>$famiglia</td></tr>";
echo "<tr><td><b>Garanzia:</b></td><td>$gar</td></tr>";
echo "<tr><td><b>Difetto dichiarato:</b></td><td> $difetto </td></tr>";
echo "<tr><td><b>Intervento Tecnico:</b></td><td>$intervento</td></tr>";
echo "<tr><td><b>Note:</b></td><td>$note</td></tr>";
$y++;
};

//if ($y==0)
// echo "<tr><td colspan=4 align=center>Non ci sono annunci!</td></tr></table> ";
//else
echo "</table>";

mysql_close($db);
?><br><br>
</td></tr></table>
</div>
</body>
</html>

Come potrai vere dal codice le prove (copie) sono tante e varie
:hammer: lo so sono duro, ma ancora non sono entrato nella logica del php, ma non dispero, pian piano ci riuscirò:mavieni:
 

qui

Nuovo Utente
22 Nov 2006
11
0
0
IO scriverei qualcosa del tipo:

<div align="center">
<TABLE cellSpacing=0 cellPadding=0 width=700 border=0>
<tr><td>
<h3><p align=center>Questo il tuo dato richiesto</p></h3>
<br>

/*non capisco da dove arriva questa roba*/
<?php
$arr = array(n);
foreach ($arr as $value)
{
echo "$value\n";
}

$db=mysql_connect("62.149.150.11", "Sqlxxxxx", "xxxxxxx");

$query = "SELECT * FROM 'mio' WHERE id=". $_POST['Sid'];

/*dove id si deve chiamare il campo del form di partenza*/
$rs = mysql_query($query,$db);

/*metti i dati della query in un'array per poterli utilizzare*/
$result = mysql_fetch_array($query)

/*Controlo se sono stati estratti record*/
if (mysql_num_rows($result ) <= 0)
echo "Non è stato estratto nessun record";

echo "<tr><td colspan=2 align=center bgcolor=#FFFFCC><b>--- Dati n° $id ---</b></td></tr>";

/*In questo caso va bene xke hai 1 solo record*/
$dati=mysql_result($rs,id);

echo "<table align=center border=1 width=70%>";

/*Qui nn capisco bene ma l'id lo dovresti aver passato dal form quindi nn ti serve riaggiornarlo ce l'hai in $_POST['id']*/
//$id=$dati[0];

echo "<tr><td colspan=2 align=center bgcolor=#FFFFCC><b>--- Inserimento Dati Personali n° $id ---</b></td></tr>";

/*Qui in $dati['xxxxx'] al posto di xxxxx devi mettere il nome delle colonne del db*/
$nome=$dati[1];
$cognome=$dati[2];
$via=$dati[3];
$citta=$dati[4];
$tel=$dati[5];
$cel=$dati[6];
$posta=$dati[7];
$dat=$dati[8];
$marca=$dati[9];
$modello=$dati[10];
$famiglia=$dati[11];
$gar=$dati[12];
$difetto=$dati[13];
$intervento=$dati[14];
$note=$dati[15];

/*il resto mi sembra vada bene attento in echo ad usare la sintassi "striga" e nn 'stringa' altrimenti nn puoi mettere la variabili all'interno*/
echo "<tr><td><b>NOME:</b></td><td>$nome</td></tr>";
echo "<tr><td><b>COGNOME:</td><td>$cognome</td></tr>";
echo "<tr><td><b>Via:</td><td>$via</td></tr>";
echo "<tr><td><b>Città:</td><td>$citta</td></tr>";
echo "<tr><td><b>Telefono:</b></td><td>$tel</td></tr>";
echo "<tr><td><b>Cellulare:</b></td><td>$cel</td></tr>";
echo "<tr><td><b>E_mail:</b></td><td>$posta</td></tr>";

echo "<tr><td colspan=2 align=center bgcolor=#CCFFFF><b>--- Inserimento Dati Articolo n° $id ACQUISITO in Data $dat ---</b></td></tr>";
echo "<tr><td><b>Marca:</b></td><td>$marca</td></tr>";
echo "<tr><td><b>Modello:</b></td><td>$modello</td></tr>";
echo "<tr><td><b>Famiglia:</b></td><td>$famiglia</td></tr>";
echo "<tr><td><b>Garanzia:</b></td><td>$gar</td></tr>";
echo "<tr><td><b>Difetto dichiarato:</b></td><td> $difetto </td></tr>";
echo "<tr><td><b>Intervento Tecnico:</b></td><td>$intervento</td></tr>";
echo "<tr><td><b>Note:</b></td><td>$note</td></tr>";
$y++;
};

//if ($y==0)
// echo "<tr><td colspan=4 align=center>Non ci sono annunci!</td></tr></table> ";
//else
echo "</table>";

mysql_close($db);
?><br><br>
</td></tr></table>
</div>
</body>
</html>
 

giovy58

Nuovo Utente
21 Nov 2006
12
0
0
www.siracusacity.com
:dipser:
non funziona nulla, anche perchè non ho capito cosa dovrei scrivere, nel senso:
Ho creato un db , dove immetto dei dati
http://www.siracusacity.com/miodb/mio.html
e questo funziona,
tramite:
una pagina php inserisco i dati nel db mysql
e questo funziona (ci sono tre record)
tramite:
http://www.siracusacity.com/miodb/mio_vis1.php
e questa funziona (leggo i tre record memorizzati)
a questo punto vorrei richiamare un solo record a video
tramite:
http://www.siracusacity.com/miodb/ricerca_cliente.html
immetto il numero del record che voglio richiamare, che corrisponde al campo id (non immesso da me ma con autoincrement) e mi sono confuso tutto, in quanto non riesco a capire cosa devo modificare nella pagina che legge tutti e tre i record, per far uscire solo quello che mi interessa.
il listato della pagina che legge i record (funzionante) è questa:

________________________________________________
<html>
<head>
<title>Visualizzatore MIO </title>

<style>
</style>


</head>

<div align="center">
<TABLE cellSpacing=0 cellPadding=0 width=700 border=0>
<tr><td>
<h3><p align=center>VISUALIZZATORE MIO</p></h3>
<br>
<?php
$cod=$action;


$db=mysql_connect"62.149.150.11", "Sqlxxxxx", "xxxxxxxx");

$comando='SELECT * FROM `mio` WHERE 1'; // (conf='T')
$rs=mysql_db_query("Sqlxxxxx_2",$comando);

$y=0;
while($dati=mysql_fetch_row ($rs))

{

if ($y==0)

echo "<table align=center border=1 width=70%>";

$id=$dati[0];

echo "<tr><td colspan=2 align=center bgcolor=#FFFFCC><b>--- Inserimento Dati Personali n° $id ---</b></td></tr>";
$nome=$dati[1];
$cognome=$dati[2];
$via=$dati[3];
$citta=$dati[4];
$tel=$dati[5];
$cel=$dati[6];
$posta=$dati[7];
$dat=$dati[8];
$marca=$dati[9];
$modello=$dati[10];
$famiglia=$dati[11];
$gar=$dati[12];
$difetto=$dati[13];
$intervento=$dati[14];
$note=$dati[15];


echo "<tr><td><b>NOME:</b></td><td>$nome</td></tr>";
echo "<tr><td><b>COGNOME:</td><td>$cognome</td></tr>";
echo "<tr><td><b>Via:</td><td>$via</td></tr>";
echo "<tr><td><b>Città:</td><td>$citta</td></tr>";
echo "<tr><td><b>Telefono:</b></td><td>$tel</td></tr>";
echo "<tr><td><b>Cellulare:</b></td><td>$cel</td></tr>";
echo "<tr><td><b>E_mail:</b></td><td>$posta</td></tr>";

echo "<tr><td colspan=2 align=center bgcolor=#CCFFFF><b>--- Inserimento Dati Articolo n° $id ACQUISITO in Data $dat ---</b></td></tr>";
echo "<tr><td><b>Marca:</b></td><td>$marca</td></tr>";
echo "<tr><td><b>Modello:</b></td><td>$modello</td></tr>";
echo "<tr><td><b>Famiglia:</b></td><td>$famiglia</td></tr>";
echo "<tr><td><b>Garanzia:</b></td><td>$gar</td></tr>";
echo "<tr><td><b>Difetto dichiarato:</b></td><td>$difetto</td></tr>";
echo "<tr><td><b>Intervento Tecnico:</b></td><td>$intervento</td></tr>";
echo "<tr><td><b>Note:</b></td><td>$note</td></tr>";

$y++;
};

if ($y==0)
echo "<tr><td colspan=4 align=center>Non ci sono annunci!</td></tr></table> ";
else
echo "</table>";

mysql_close($db);
?><br><br>
</td></tr></table>
</div>
</body>
</html>
____________________________________________________

Ti pregherei però di essere sincero, nel senso che se ti sei scocciato di rispondere alle mie domande dimmelo pure.........
Nel caso contrario mi servirebbe la modifica per far richiamare un solo record
A proposito, il tutto non serve per il sito dove appoggio questo lavoro, quello si è il mio, ma questo mi servirebbe per farlo girare in locale per il negozietto della mia compagna :byebye: e grazie in ogni caso per il tempo dedicatomi
 

qui

Nuovo Utente
22 Nov 2006
11
0
0
Ciao Giovy58, il tuo problema sta nell'esecuzione della query, ovvero nel codice sql, di interrogazione del db.
Quando devi estrarre un solo record, devi dire al sistema quale è, quindi devi scegliere nella tabella un campo che identifichi univocamente un record. questo può essere fatto scegliendo ad esempio il campo "id", ma potresti definire anche un campo "codice" o quello che vuoi è solo un nome.
Prendiamo ad esempio il campo "id":

hai creato un form in cui chiedi il numero ricevuta, il valore che te scrivi lo userai come discriminante, ovvero lo passi alla pagina che avrà il compito di estrarre i dati, questo valore è contenuto nella variabile globale di php $_POST e fai riferimento al tuo valore specifico nella pagina in cui ricavi i dati dal db tramite $_POST['nome assegnato all'input nella pagina del form'] questo valore lo usi nella query fatta in questo modo:
sql = "SELECT * FROM mio WHERE id = ".$_POST['........']
a questo punto esegui i comandi per l'esecuzione delle query e ricavi i dati come nella pagina che funziona

il tuo problema è questo tutto il resto va bene
ciao Q
 

giovy58

Nuovo Utente
21 Nov 2006
12
0
0
www.siracusacity.com
:fonzie: Ti ringrazio, anche se da ignorante ho dovuto fare decine di prove, alla fine ci sono riuscito a farlo come dicevi tu.

Però devo dirti che a modo mio, prima di ricevere la tua risposta, ero riuscito a far girare il tutto assegnado dei valori al ciclo di while, che se ti va di farti quattro risate posso farti anche vedere il listato.

Ti ringrazio veramente, sei stato gentilissimo e di grande aiuto.
Spero solo di poter contare nell'aiuto di persone come te per continuare in questo per me difficile percorso
 

qui

Nuovo Utente
22 Nov 2006
11
0
0
Ciao Giovy sono veramente contento che tu sia riuscito nel tuo scopo, questa è un agrande gioia, mi occupo di programmazione nell'ambito della visione robotica e t assicuro ogni giorno mi trovo nelle tue stesse difficoltà ma nella comunità open source trovo sempre qualcuno disposto ad aiutarmi quindi quando posso se penso di avere le capacità provo ad aiutare gli altri questa è la cosa più bella per me. Il tuo codice nn è sicuramente da ridere se funazionava aveva sicuramente una sua logica magari poco adatta allo scopo ma secondo il mio modesto parere va tenuto da parte per poterlo riutilizzare o prenderci spunto in casi più adatti alla logica con cui l'hai sviluppato.
Un saluto qui e continua a programmare l'esperenza è la migliore arma!!!!!!
 

giovy58

Nuovo Utente
21 Nov 2006
12
0
0
www.siracusacity.com
:confused: ECCOMI NUOVAMENTE DI FRONTE AD UN'ALTRO MURO.

$comando="SELECT * FROM magazzino WHERE codice = ".$_POST['cod'];

mi funziona solo se il valore richiama id o campi numerici, ma il codice ( giusto quello che mi serve) che contiene anche lettere o un'altro campo con lettere non funziona

:dipser: devo iscrivermi obbligatoriamente in informatica per capirci qualcosa?????
 

qui

Nuovo Utente
22 Nov 2006
11
0
0
Ciao Giovy, ho ritrovato anche io questo problema, e l'ho risolto eliminando eventuali spazi a fine riga tramite la funzione trim nello specifico, potresti provare ad usare questo:

$comando="SELECT * FROM magazzino WHERE codice = ".trim($_POST['cod']);

a me poi ha funzionato, spero il problema si risolva così.
 

Discussioni simili