• Home
  • Forum
  • Fare Web
  • PHP

Recupero particolari dati

  • Creatore Discussione Creatore Discussione IlGladiatore
  • Data di inizio Data di inizio 16 Mag 2009
Prec.
  • 1
  • 2
Primo Prec. 2 di 2
I

IlGladiatore

Nuovo Utente
16 Mag 2009
17
0
0
  • 24 Mag 2009
  • #21
Ho aggiunto questo nel file ricerca, altrimenti non poteva connettersi e cercare..

PHP:
include("config.php");
$db=mysql_connect($db_host,$db_user,$db_password);
if ($db==FALSE) die("errore nella connessione");
mysql_select_db($db_name,$db) or die("errore nella selezione del database");

il risultato e che inserendo qualsiasi cos acome risultato da tutti i record della tabella inq eusto modo:

Nome
Cognome
Città
Telefono
Nome
Cognome
Città
Telefono
Nome
Cognome
Città
Telefono...e così via per tutti i record....
 
D

dream88

Utente Attivo
8 Apr 2009
62
0
0
  • 25 Mag 2009
  • #22
Per mettere i risultati ciascuno su una riga basta che sostituisci:

while ($ricerca = mysql_fetch_array($result)){
echo $ricerca['Nome']."<br>".$ricerca['Cognome']."<br>".$ricerca['Citta']."<br>".$ricerca['Telefono']."<br>".$ricerca['Sesso']; }

con:

while ($ricerca = mysql_fetch_array($result)){
echo $ricerca['Nome']." ".$ricerca['Cognome']." ".$ricerca['Citta']." ".$ricerca['Telefono']." ".$ricerca['Sesso']."<br>"; }
 
I

IlGladiatore

Nuovo Utente
16 Mag 2009
17
0
0
  • 25 Mag 2009
  • #23
non mi sono spiegato bene, non è la visualizzazione dei record che non mi piace, ma che qualsiasi cosa scrivo nella ricerca selezionando una qualsiasi voce dell'elenco mi da sempre tutti i record contenenti nella tabella.
 
D

dream88

Utente Attivo
8 Apr 2009
62
0
0
  • 25 Mag 2009
  • #24
Ma hai modificato il codice che ho scritto?
Perché io sta mattina l'ho provato e mi funzionava...
Lo puoi scrivere qui?
 
I

IlGladiatore

Nuovo Utente
16 Mag 2009
17
0
0
  • 26 Mag 2009
  • #25
cerca.php


PHP:
<?php
$parola = $_GET['parola'];
$search = $_GET['search'];
if ($parola)
{
$parole = trim($parola); // elimina gli spazi circostanti
$parola = explode(" ", parole);// array di singole parole
}
//Definizione della query
$sql = "SELECT * FROM tabella";

if ($search=="1"){
if (isset($parola))
{
$sql .=" WHERE ";
for($i = 0; $i < count($parola); $i++)
{
$sql .= "Nome LIKE '%" . $parola[$i]. "%'";
if ($i < count($parola)-1)
{
$sql .= " OR ";
}
}
}
}
if ($search=="2"){
if (isset($parola))
{
$sql .=" WHERE ";
for($i = 0; $i < count($parola); $i++)
{
$sql .= "Cognome LIKE '%" . $parola[$i]. "%'";
if ($i < count($parola)-1)
{
$sql .= " OR ";
}
}
}
}
if ($search=="3"){
if (isset($parola))
{
$sql .=" WHERE ";
for($i = 0; $i < count($parola); $i++)
{
$sql .= "Citta LIKE '%" . $parola[$i]. "%'";
if ($i < count($parola)-1)
{
$sql .= " OR ";
}
}
}
}
include("config.php");
$db=mysql_connect($db_host,$db_user,$db_password);
if ($db==FALSE) die("errore nella connessione");
mysql_select_db($db_name,$db) or die("errore nella selezione del database");

$result =mysql_query($sql);
if (mysql_num_rows($result) == 0) {
die("Non è stato trovato il termine cercato. Effettua una nuova ricerca");
}
else {
while ($ricerca = mysql_fetch_array($result)){
echo $ricerca['Nome']."<br>".$ricerca['Cognome']."<br>".$ricerca['Citta']."<br>".$ricerca['Telefono']."<br>".$ricerca['Sesso']; }
} 
?>

index.php

PHP:
<div id="ricerca">

<form id="cerca" method="post" action="cerca.php">
Ricerca:
<input name="parola" type="text"/>
<select name="search">
<option selected="selected" value="1">Nome</option>
<option value="2">Cognome</option>
<option value="3">Citta</option>
</select>
<input type="submit" name="cerca" value="Cerca"/>
</form>

</div> 

<?

if(isset($_POST['cerca']))
{
// Dati Inviati dal modulo
$parola = (isset($_POST['parola'])) ? trim($_POST['parola']) : '';
$search = (isset($_POST['search'])) ? trim($_POST['search']) : '';
$pagricerca= "cerca.php?parola=".$parola."&search=".$search ;
header("Location:".$pagricerca);
}
?>
 
D

dream88

Utente Attivo
8 Apr 2009
62
0
0
  • 26 Mag 2009
  • #26
Ho sbagliato io... all'inizio mi sono dimenticata un $.. da me lo avevo corretto ma mi sono dimenticata di scrivertelo...

Non è:
$parola = explode(" ", parole);
Ma:
$parola = explode(" ", $parole);

Il collegamento con il database ti conviene metterlo all'inizio del php...
 
I

IlGladiatore

Nuovo Utente
16 Mag 2009
17
0
0
  • 26 Mag 2009
  • #27
niente...stesso risultato...
 
D

dream88

Utente Attivo
8 Apr 2009
62
0
0
  • 26 Mag 2009
  • #28
Forse ho capito dov'è l'errore...

Index.php devi metterlo così:

PHP:
<? 

if(isset($_POST['cerca'])) 
{ 
// Dati Inviati dal modulo 
$parola = (isset($_POST['parola'])) ? trim($_POST['parola']) : ''; 
$search = (isset($_POST['search'])) ? trim($_POST['search']) : ''; 
$pagricerca= "cerca.php?parola=".$parola."&search=".$search ; 
header("Location:".$pagricerca); 
} 
?> 
<div id="ricerca"> 

<form id="cerca" method="post" action=""> 
Ricerca: 
<input name="parola" type="text"/> 
<select name="search"> 
<option selected="selected" value="1">Nome</option> 
<option value="2">Cognome</option> 
<option value="3">Citta</option> 
</select> 
<input type="submit" name="cerca" value="Cerca"/> 
</form> 

</div>

Nell'action del form non devi mettere cerca.php perché se no cerca.php non prende i valori che gli passi con il get...
 
I

IlGladiatore

Nuovo Utente
16 Mag 2009
17
0
0
  • 26 Mag 2009
  • #29
Warning: Cannot modify header information - headers already sent by (output started at C:\...\index.php:14) in C:\...\index.php on line 97.

Linea 97

header("Location:".$pagricerca);
 
D

dream88

Utente Attivo
8 Apr 2009
62
0
0
  • 26 Mag 2009
  • #30
All'inizio del php scrivi:
PHP:
ob_start();
e alla fine:
PHP:
ob_end_flush();
 
I

IlGladiatore

Nuovo Utente
16 Mag 2009
17
0
0
  • 27 Mag 2009
  • #31
Risolto in questo modo:

index.php

PHP:
<div id="ricerca">

<form id="cerca" method="post" action="cerca.php">
Ricerca:
<input name="parola" type="text"/>
<select name="search">
<option selected="selected" value="1">Nome</option>
<option value="2">Cognome</option>
<option value="3">Citta</option>
</select>
<input type="submit" name="cerca" value="Cerca"/>
</form>

</div>

cerca.php

PHP:
<?php
include("config.php");
$parola = $_POST['parola'];
$search = $_POST['search'];
if ($parola)
{
$parole = trim($parola); // elimina gli spazi circostanti
$parola = explode(" ", $parole);// array di singole parole
}
//Definizione della query
$sql = "SELECT * FROM tabella";

if ($search=="1"){
if (isset($parola))
{
$sql .=" WHERE ";

for($i = 0; $i < count($parola); $i++)
{
$sql .= "Nome LIKE '%" . $parola[$i]. "%'";
if ($i < count($parola)-1)
{
$sql .= " OR ";
}
}
}
}
if ($search=="2"){
if (isset($parola))
{
$sql .=" WHERE ";
for($i = 0; $i < count($parola); $i++)
{
$sql .= "Cognome LIKE '%" . $parola[$i]. "%'";
if ($i < count($parola)-1)
{
$sql .= " OR ";
}
}
}
}
if ($search=="3"){
if (isset($parola))
{
$sql .=" WHERE ";
for($i = 0; $i < count($parola); $i++)
{
$sql .= "Citta LIKE '%" . $parola[$i]. "%'";
if ($i < count($parola)-1)
{
$sql .= " OR ";
}
}
}
}

$db=mysql_connect($db_host,$db_user,$db_password);
if ($db==FALSE) die("errore nella connessione");
mysql_select_db($db_name,$db) or die("errore nella selezione del database");

$result =mysql_query($sql);
if (mysql_num_rows($result) == 0) {
die("Non è stato trovato il termine cercato. Effettua una nuova ricerca");
}
else {
while ($ricerca = mysql_fetch_array($result)){
echo $ricerca['Nome'].$ricerca['Cognome'].$ricerca['Citta'].$ricerca['Telefono'].$ricerca['Sesso']."<br>";
echo "<br> >>>".$parola[0]."<br>"; }
} 
?>

in poke parole ho tolto questo dalla index:

PHP:
<?
if(isset($_POST['cerca']))
{
// Dati Inviati dal modulo
$parola = (isset($_POST['parola'])) ? trim($_POST['parola']) : '';
$search = (isset($_POST['search'])) ? trim($_POST['search']) : '';
$pagricerca= "cerca.php?parola=".$parola."&search=".$search ;
header("Location:".$pagricerca);
}
?>

E messo post invece che GEt nel cerca.php, poi per un controllo ho messo echo "<br> >>>".$parola[0]."<br>"; tanto x capire se sta parola che inserivo me la dava...tutto mi funziona adesso


Potresti spiegarmi meglio la funzione LIKE con gli "%"? mi sn accorto che hai usato la variavile parole per contere la parola inserita nella ricerca poi la stessa variavile trasformata in un array per contenere più parole...non è meglio dare nomi differenti alle variabili? in java una cosa del genere me la sogno XD

grazie di tutto, sei stato molto gentile
 
Ultima modifica: 27 Mag 2009
D

dream88

Utente Attivo
8 Apr 2009
62
0
0
  • 27 Mag 2009
  • #32
Per quanto riguarda i nomi delle variabili non ha nessuna importanza... Potevi anche mettere:

PHP:
$parola = trim($parola);
$parola = explode(" ", $parola);
che non cambiava niente...

Per il like con la %...Esempio:
...where Nome like '%pallino%'
Ti trova oltre al nome pallino, anche pincopallino, pallinone...
Cioè quelli che contengono quella parola...
Se levi la % ti trova solo pallino e basta!

Dipende quello che vuoi trovare tu... se ti serve solo il nome esatto allora puoi levare tranquillamente le %...
 
I

IlGladiatore

Nuovo Utente
16 Mag 2009
17
0
0
  • 27 Mag 2009
  • #33
ok grazie, capito...

cmq x le variabili mi sn trovato un pò strammo xkè questo modo di fare mi è nuovo tt qui.
 
Prec.
  • 1
  • 2
Primo Prec. 2 di 2
Devi accedere o registrarti per poter rispondere.

Discussioni simili

R
Recupero di permalink di un sito che è stato eliminato per errore
  • RobertaG
  • 24 Ott 2022
  • WordPress
Risposte
5
Visite
2K
WordPress 26 Ott 2022
glm1986ITALY
T
Recupero valori tramite $_GET
  • tirikiz
  • 28 Feb 2022
  • PHP
Risposte
4
Visite
1K
PHP 1 Mar 2022
tirikiz
T
O
Recupero valori da listato
  • ONE313
  • 9 Mag 2021
  • Javascript
Risposte
0
Visite
930
Javascript 9 Mag 2021
ONE313
O
S
problema con recupero dati tabella mysql
  • smartwork
  • 12 Apr 2021
  • PHP
Risposte
2
Visite
1K
PHP 13 Apr 2021
PaoloG
P
D
Recupero dati da HDD esterno
  • Domenico2013
  • 13 Gen 2021
  • Hardware
Risposte
0
Visite
2K
Hardware 13 Gen 2021
Domenico2013
D
T
foreach e fetchAll dove recupero solo l'ultimo record
  • twogate
  • 2 Set 2020
  • PHP
Risposte
5
Visite
1K
PHP 3 Set 2020
twogate
T
T
recupero valori select multipla da android
  • tigerman1467
  • 12 Lug 2020
  • Javascript
Risposte
3
Visite
2K
Javascript 14 Lug 2020
Max 1
W
Recupero password
  • windt
  • 22 Mag 2020
  • Classic ASP
Risposte
16
Visite
3K
Classic ASP 26 Mag 2020
windt
W
L
Recupero dati da SSD Windows 10 prof
  • Louiss97
  • 11 Mar 2020
  • Windows e Software
Risposte
3
Visite
2K
Windows e Software 24 Mag 2022
Louiss97
L
S
[PHP] Recupero nome immagine da Form con input file
  • solari77
  • 10 Nov 2019
  • PHP
Risposte
3
Visite
2K
PHP 12 Nov 2019
marino51
Recupero dati da una vecchia versione MySql [Risolto]
  • Sergio Unia
  • 24 Lug 2018
  • MySQL
Risposte
4
Visite
2K
MySQL 11 Ago 2018
Sergio Unia
[PHP] Recupero id autoincrement
  • bubino8
  • 10 Lug 2018
  • PHP
Risposte
8
Visite
4K
PHP 12 Lug 2018
bubino8
I
Recupero accesso pannello di controllo dominio
  • ilbuonuomomo
  • 13 Apr 2018
  • Leggi, Normative e Fisco
Risposte
2
Visite
1K
Leggi, Normative e Fisco 16 Apr 2018
ilbuonuomomo
I
S
[PHP] form con metodo get e recupero id
  • solari77
  • 26 Mar 2018
  • PHP
Risposte
4
Visite
3K
PHP 27 Mar 2018
borgo italia
[PHP] Check - Select e recupero variabili
  • Emix
  • 21 Feb 2018
  • PHP
  • 2 3
Risposte
40
Visite
8K
PHP 23 Feb 2018
macus_adi
[PHP] Recupero input senza invio
  • bubino8
  • 19 Gen 2018
  • PHP
Risposte
1
Visite
1K
PHP 19 Gen 2018
bubino8
U
[PHP] Selezione con menu a tendina e recupero selezione
  • ugo.ugo
  • 19 Dic 2017
  • PHP
Risposte
5
Visite
9K
PHP 26 Dic 2017
ugo.ugo
U
L
Problema con recupero dati in PHP cURL e JAVA con server
  • larosa.cristian
  • 6 Apr 2017
  • PHP
Risposte
1
Visite
1K
PHP 6 Apr 2017
criric
P
Javascript o Jquery - recupero testo (oltre al valore) di una select
  • psicona
  • 10 Mar 2017
  • Javascript
Risposte
5
Visite
3K
Javascript 10 Mar 2017
borgo italia
S
[PHP] Recupero più dati da form realizzata ciclo FOR
  • solari77
  • 23 Ott 2016
  • PHP
Risposte
5
Visite
4K
PHP 24 Ott 2016
marino51
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Fare Web
  • PHP
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?