Estrazione dati da tabella sql

Alessandro Cavallari

Nuovo Utente
22 Feb 2016
20
0
0
Salve a tutti!

So che il problema che sto per esporre fara' sorridere molti di voi ma purtroppo non sono ancora pratico nella gestione mysql e del php.

Sto cercando da giorni di creare una pagina php che stampi a video i dati contenuti nella mia tabella "contact" del mio Db.

La mia necessità è quella di recuperare tutti i campi della tabella e stamparli a video,i campi sono:

pk_contact
name
address
email
telefono

Qualcuno di voi ha una soluzione per risolvere questa mia esigenza?dalla connessione al mio Db alla stampa a video dei dati?

Grazie mille in anticipo chi risponderà

Alessandro
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao, di seguito alcune funzioni di base per utilizzare l'estensione msqli
PHP:
    <?php

    // per la connessione
    $conn = mysqli_connect("localhost", "root", "password", "database") or die("Errore " . mysqli_error($conn));

    // query
    $query = "select * from tabella";

    // per eseguire la query
    $result = mysqli_query($conn, $query);

    // per stampare eventuali errori
    if (!$result) {
        echo "Errore query " . mysqli_error($conn);
    }
    // per contare i risultati
    $num = mysqli_num_rows($result);

    // per estrarre i risultati
    while ($row = mysqli_fetch_assoc($result)) {
        echo $row['campo_uno'] . "<br/>";
    }
    // per liberare la memoria
    mysqli_free_result($result);

    // per chiudere la connessione
    mysqli_close($conn);
    ?>
 

Alessandro Cavallari

Nuovo Utente
22 Feb 2016
20
0
0
Criric ho provato il codice che mi hai postato,ma il risultato e' una pagina bianca,come se non riuscisse a stamparmi a video i dati contenuti nel db..non presenta nessun tipo di errore in risposta...cosa puo' essere??
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
prova a stampare la query
PHP:
 // per eseguire la query
    $result = mysqli_query($conn, $query);
echo $query;
 

Alessandro Cavallari

Nuovo Utente
22 Feb 2016
20
0
0
Ho provato a stampare $result e mi esce questo errore:

Catchable fatal error: Object of class mysqli_result could not be converted to string in
 

Alessandro Cavallari

Nuovo Utente
22 Feb 2016
20
0
0
// per stampare eventuali errori
if (!$result) {
echo "Errore query " . mysqli_error($conn);

E' normale che ci sia il ! davanti a $result?
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Si, normale vuol dire if not ( se non è vero) ti stampa l'errore
allora il problema sarà nel ciclo while, prova aggiungendo un carattere prima del br
PHP:
 // per estrarre i risultati
    while ($row = mysqli_fetch_assoc($result)) {
        echo $row['nome_campo'] . " AAA <br/>";
    }
er per sicurezza fai un echo anche del totale dei record
PHP:
  // per contare i risultati
    $num = mysqli_num_rows($result);
echo $num;
 

Alessandro Cavallari

Nuovo Utente
22 Feb 2016
20
0
0
Aggiungendo i caratteri mi stampa sei righe (congruente con il numero dei dati attualmente presenti nella mia tabella) ma con il contenuto dei caratteri che ho aggiunto prima del tag br...ho aggiunto "aaa <br/> e il risultato e' :

6aaa
aaa
aaa
aaa
aaa
aaa
 

Alessandro Cavallari

Nuovo Utente
22 Feb 2016
20
0
0
Credo di aver risolto...non avevo cambiato la stringa echo $row['campo_uno'] con il nome del mio campo...solo una cosa...io dovrei stampare piu' campi...come mi hai scritto tu ne stampa a video solo uno...come posso fare??
 
Ultima modifica:

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Puoi creare una tablella
PHP:
echo "<table>";
echo "<tr>";
echo "<th> Campo 1 </th>";
echo "<th> Campo 2 </th>";
echo "</tr>";
while ($row = mysqli_fetch_assoc($result)) {
    echo "<tr>";
    echo "<td>" . $row['campo_uno'] . "</td>";
    echo "<td>" . $row['campo_due'] . "</td>";
    echo "</tr>";
}
echo "</table>";
 

Alessandro Cavallari

Nuovo Utente
22 Feb 2016
20
0
0
Risultato ottenuto!!!grazie criric!!!ti chiedo un'ultima cosa...(bugia non sara' l'ultima!!) per formattare a mio piacere la tabella come posso fare??
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.039
146
63
PR
www.borgo-italia.it
ciao
piccolo dubbio
tu scrivi $row['nome_campo'], ma il nome del campo è quello? da quello che capisco i nomi dei campi sono
pk_contact
name
address
email
telefono

quindi per estrarre es. il campo pk_contact devi scrivere $row['pk_contact']
 

Alessandro Cavallari

Nuovo Utente
22 Feb 2016
20
0
0
Eccomi di nuovo qui a scrivere!
Utilizzo ancora questa discussione perche' credo sia sensato lasciarle concatenate.

Sono riuscito grazie all'aiuto di Criric a estrarre i dati dei miei clienti e stamparli a video...ora ho due problematiche..

1.Come posso far si che le singole linee della tabella creata con i dati diventino dei link che una volta cliccati mi aprano una pagina con una tabella precompilata con i dati di tale cliente?

2.Come posso creare una tabella dove inserire quantita',descrizione dei beni e importi (tipo fattura) e far si che vengano calcolati i totali e dopodiche' tutto quanto venga inserito in una tabella su db che si chiama "fatture"?

Grazie anticipatamente!!
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.039
146
63
PR
www.borgo-italia.it
ciao
riprendendo l'esempio di criric
PHP:
<?php
//.........
echo "<table>";
echo "<tr>";
echo "<th> Campo 1 </th>";
echo "<th> Campo 2 </th>";
echo "</tr>";
while ($row = mysqli_fetch_assoc($result)) {
    echo "<tr>";
    echo "<td>" . $row['nome'] . "</td>";
    echo "<td><a href=\"tua_pagina.php?id_utente=".$row['id']."\">vedi</a></td>";
    echo "</tr>";
}
echo "</table>";
//..........
?>
poi nella pagina tua_pagina.php
PHP:
<?php
//leggi l'id dell'utente
$id=(int)$_GET['id_utente'];
if($id==0 || $_GET['id_utente'] ==""){
	//l'idi non è corretto e rimandi in automatico alla pag che preferisci
}
//dati di connessione
$query = "select * from tabella WHERE id=$id";
//e estrai tutti i dati dell'utente
//......
?>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.039
146
63
PR
www.borgo-italia.it
ciao
per la domanda 2 immagino che la fattura debbe essere intestata ad un cliente tra quelli che hai gia nel db
hai inoltre una tabella prodotti?
come ho detto altrove devi pensare bene a come strutturare il db (prima con carta e penna), la parte di script per poi fare/modificare/eliminare una fattura è la parte più semplice.
da quello che ho capito che vuoi fare la struttura del db (quante tabelle e come fatte) è la parte principale e quella (se sbagli) la più rognosa da modificare
 

Alessandro Cavallari

Nuovo Utente
22 Feb 2016
20
0
0
Ciao Borgo Italia!!

Inannzitutto ti ringrazio per le risposte.
Ho provato ad apllicare lo script per rendere link la riga dati ma il risultato e' che mi sparisce il contenuto della cella,quindi niente link...
Hai ragione non ho ben progettato la struttura del db..cmq il mio obiettivo e' quello di inserire clienti in una tabella contact...poi attraverso una pag php "rubrica" poterli visualizzare tutti e poter selezionare il cliente a mio piacere,facendo cio' far aprire una paginacon tutti i dati relativi al singolo cliente e l'opzione crea fattura che cliccandola mi riporta all'editor della fattura con gia' i dati del cliente pre inseriti e far si che tale fattura venga salvata in un db anche solo in jpg e infine fare in modo di stampare tale fattura e richiamarla quando voglio...

Un po' contorto