[risolto] Istruzione per estrazione di dati casuali dal db

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
scoperto l'inghippo:
quella parte di script che estrae il nome del campo ti estrae sempre il nome dell'ULTIMO campo, nel tuo caso capitolo quindi il like non trova nulla.
spiega bene cosa vorresti ottenere da quello script
 

Altutto

Utente Attivo
30 Set 2013
262
0
16
stubborn.altervista.org
il mio intervento si riferiva a questa tua risposta

come vedi nel var_dump che ti ha fatto mettere Borgo il nome del campo è "capitolo" che contiene un numero e non del testo, cosi la query non ti restituirà mai un risultato
il problema quindi dovrebbe essere nella variabile $current_col

Ma infatti quando avevo provato a cercare il campo capitolo conteneva anche lui "test", poi, però, l'ho modificato da varchar a tinyint e ho quindi modificato il record in "12" ;)

ciao
scoperto l'inghippo:
quella parte di script che estrae il nome del campo ti estrae sempre il nome dell'ULTIMO campo, nel tuo caso capitolo quindi il like non trova nulla.
spiega bene cosa vorresti ottenere da quello script

Dovrei estrarre un record casuale che abbia almeno una colonna che sia "like" $_GET['ricerca']...
Quindi dovrebbe cercare il termine cercato in tutte le colonne, prendere le righe in cui c'è il termine e stamparne a video una a caso
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
allora, come detto e se non ho capito male tu hai una tabella del tipo
Codice:
pagina|argomento|argomento_madre|procedura|definizione|attenzione|prima|seconda|terza| anno_scolastico|capitolo
tu vuoi cercare un record che abbia il termine cercato in uno dei campi esclusi pagina| anno_scolastico|capitolo
quindi devi cercare in
argomento|argomento_madre|procedura|definizione|attenzione|prima|seconda|terza
giusto?
quindi, se non ho capito male io farei semplicemente così
PHP:
<?php
//......
$cercare=addslashes(trim($_GET['ricerca']));
//un piccolo controllo
if($cercare==""){
	//se qualcuno non ha immesso niente
	//un ritorno alla pagina di ricerca da cui proviene il get
}else{
	//dati di connessione
	//qui togli o aggiungi i campi che effettivamente ti servono
	$campi=array('argomento','argomento_madre','procedura','definizione','attenzione','prima','seconda','terza');
	//compongo il like per tutti i campi interessati
	$like="";
	foreach($campi as $nome){
		$like.= " $nome LIKE '%$cercare%' OR ";
	}
	//tolgo l'ultimo or
	$lunga=strlen($like)-4;
	$like=substr($like,0,$lunga);
	//costruisco la query stringa
	$sqla = "SELECT * FROM matematica WHERE  $like ORDER BY RAND() LIMIT 1"; 
	$ressa= mysql_query($sqla, $con2) or die (mysql_error()) ;   
	if(mysql_num_rows($ressa)==0) { 
    	echo "nessun record trovato"; 
	}else{
    	$rowa = mysql_fetch_array($ressa);  
    	echo "Spiega la procedura del seguente argomento:"; 
    	echo $rowa['argomento']; 
	}
//....
}
//....
?>
prova e sappi dire

p.s.
usi il $_GET la ricerca non avviene tramite un form? e se si, usa il metodo POST sostituendo anche
$cercare=addslashes(trim($_GET['ricerca']));
con
$cercare=addslashes(trim($_POST['ricerca']));
molto più sicuro
 

Altutto

Utente Attivo
30 Set 2013
262
0
16
stubborn.altervista.org
Grazie mille, ora funziona perfettamente :D

La ricerca avviene tramite un form, ora che funziona tutto, passerò al metodo POST, in fase di sviluppo di solito uso GET per passare i dati più velocemente inserendoli tramite l'url :)

Grazie per la pazienza infinita che hai avuto nell'aiutarmi :D
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Bravi!
piccola psservazione per Borgo
PHP:
//tolgo l'ultimo or
$lunga=strlen($like)-4;
$like=substr($like,0,$lunga);
dovrebbe essere uguale a
PHP:
//tolgo l'ultimo or
$like=substr($like,0,-4);
una riga in meno di codice :fonzie:
 
Discussioni simili
Autore Titolo Forum Risposte Data
CristianB72 [RISOLTO] [PHP] Istruzione "if" non funziona PHP 6
A [RISOLTO]Piccolissima istruzione MySQL 7
L (risolto) MySQL 0
B getElementById su piu id(Risolto) Javascript 7
L Esercitarsi con Js [RISOLTO] Javascript 4
C [RISOLTO]Inserimento variabile php in input html PHP 20
L risolto visualizzazione e ordinamento dati PHP 1
moustache [RISOLTO] SQL PHP IIS PHP 8
Sergio Unia Ricezione email con destinatari multipli [Risolto] PHP 2
L update tabelle in php mysql [risolto] PHP 6
M Semplice visualizzatore di immagini [risolto con plugin wp] PHP 7
L [RISOLTO] Stampa a video risultato count in html PHP 13
L [RISOLTO] Eliminare una discussione creata PHP 3
tomorc [HTML] Problema con scroll bar (risolto) HTML e CSS 0
A [PHP] Problema query insert [RISOLTO] PHP 14
B [PHP] recuperare IP dei server in load balancing [RISOLTO] PHP 3
K [RISOLTO] Problema Griglia Php+Mysql PHP 13
S [RISOLTO] aggiorna tabella da select option asp classic Classic ASP 7
elpirata [RISOLTO][Javascript] Datapicker e autocompletamento campo input Javascript 2
elpirata [RISOLTO][Mysql] Problema insert valori apostrofati MySQL 1
elpirata [RISOLTO][Mysql] Contare le occorrenze in un campo tipo varchar MySQL 2
G [MS Access] Gestione biglietti [RISOLTO] MS Access 2
G [MS Access] Casella combinata & Query [RISOLTO] MS Access 4
G [MS Access] Query mese corrente con conteggio [RISOLTO] MS Access 2
M [RISOLTO]Windows media player non mi funziona più su win 10 pro 64 bit Windows e Software 2
C [RISOLTO][PHP] Errore di sintassi PHP 8
IT9-Gpp [RISOLTO] Leggere variabile restituita da success Ajax 3
Kolop [RISOLTO][PHP] Problema Pagination PHP 2
C [RISOLTO][PHP] Funzione ONclick PHP 14
C [RISOLTO][PHP] Conteggio righe di una tabella PHP 4
N [PHP] Utilizzo variabili di sessione [Risolto] PHP 13
Tommy03 [RISOLTO][PHP] Webserver o devserver? PHP 2
Sergio Unia Recupero dati da una vecchia versione MySql [Risolto] MySQL 4
spider81man [PHP] Problemi cancellazione dato su DB [RISOLTO] PHP 1
A [RISOLTO]Inserimento Immagini da pc a MySql PHP 15
A [PHP] RISOLTO Invio Mail con Tabella PHP 2
felino Risolto - [Wordpress][WooCommerce] PayPal Checkout e campi di fatturazione WordPress 2
elpirata [PHP][RISOLTO] Sommare gli importi estratti da un ciclo while PHP 3
elpirata [PHP][RISOLTO] Effettuare la somma dei tempi di lavorazione PHP 3
elpirata [PHP] [RISOLTO]Sovrascrivere testo in una tabella PHP 2
A [RISOLTO]Recuperare dati inviati con json tramite php PHP 4
C [RISOLTO][PHP] Passaggio variabili senza refresh di pagina PHP 7
elpirata [PHP][RISOLTO] Errore di tipo Notice: Undefined index - Come risolvere quando si hanno tante var PHP 10
S Problema in PHP per invio file XML - RISOLTO- PHP 8
A [Javascript] [RISOLTO] Doppio "submit", in uno stesso "Form" , che puntino ad "action" diversi Javascript 1
marino51 [Risolto]videochat di messenger ha smesso di funzionare sul telefonino Smartphone e tablet 1
A [Javascript] [HTML] RISOLTO...Allungare un box all'apertura della pagina No Mouse over Javascript 9
ken_korn [Javascript][Risolto] browser.tab.Tabs.favIconUrl non funziona Javascript 5
A [RISOLTO] HighChart e PHP PHP 4
A [RISOLTO] PHP Selezionare tutti i file con stessa estensione PHP 2

Discussioni simili