Campo di testo che non funziona !???!?!!?

searedone

Utente Attivo
11 Giu 2010
508
0
0
niente .. inspiegabilmente è partito tutto .:::

con questo ciclo while --

while ($records = mysql_fetch_array($query)) {
// verifica la struttura di $records


// stampiamo i nostri dati
echo "tipo : " . $records['tipo'] ."<br />";
}


lo stesso che c'era ... :(

ho solo aggiunto una volta questo print_r($records ); ed è ripartito tutto .. mah
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.039
146
63
PR
www.borgo-italia.it
ciao
per stampare tutti i campi che ti interessano potresti fare così (vengono anche più ordinati) print_r non è molto bello come output

PHP:
<?php
//......
echo "<table class=\"pinco\">";
echo "<tr><td>TIPO</td><td>TITOLO</td><td>URL</td><td>descrizione</td></tr>";
while ($records = mysql_fetch_array($query)) { 
// stampiamo i nostri dati 
echo "<tr><td>".$records['tipo']."</td><td>".$records['titolo']."</td><td>".$records['url']."</td><td>".$records['url']."</td></tr>"; 
}
echo "</table>";
//.....
?>
poi la tabella e testi li puoi formattare con i css, verifica se devi usare sui testi stripslahes (mi sembra che tu abbia messo l'addslashes)
 

searedone

Utente Attivo
11 Giu 2010
508
0
0
Ciao ,
si hai perfettamente ragione ... ma il problema è che non mi printa a video i risultati del db ....

In fatti mi prendo il ciclo while , ma non mi printa in quel caso il campo ttiolo !?!?!?!

è questo che non si capisce ... infatti ho provato con la tua tabella che è ottima grazie , mi crea le pagine , ( lo script riconosce esempio che ci sono 30 risultati e crea sotto 3 pagine ) ma non mi printa a video quello che c'è nel campo ( in questo caso di prova tipo ) e non si capisce come mai ...


Ho scaricato lo script da mrwebmaster e ho solo aggiunto i dati del db e il ciclo while ...

Ho ha problemi a monte lo script o nonso ....?!
 

searedone

Utente Attivo
11 Giu 2010
508
0
0
Purtroppo siiii..

Ho verificato più volte e nel campo tipo ci sono i dati , ho provato anche a cambiare campo ma niente ... :(
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.039
146
63
PR
www.borgo-italia.it
ciao
scusa una cosa, ma nello script che hai postato ieri #36 vedo che nelle query usi
....WHERE tipo='$tipo'....
ma non vedo dove inizializzi la variabile $tipo
non dovrebbe esserci un post per la ricerca da cui definisci $tipo?
prima delle query metti un var_dump($tipo); e guarda cosa ti risulta
 

searedone

Utente Attivo
11 Giu 2010
508
0
0
mhhh

Allora se lo metto dopo WHERE mi da un errore ...

Se lo metto prima del ciclo while pagina bianca

Se lo metto prima dell'istruzione echo mi da pagina bianca ?!?!?

Intendevi in uno di questi tre punti ?!?!?
 

searedone

Utente Attivo
11 Giu 2010
508
0
0
scusa in caso di errore messo davanti a WHERE è il seguente

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'tipo='' LIMIT 0,10' at line 2
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.039
146
63
PR
www.borgo-italia.it
ciao
non dentro la query, ma prima

PHP:
<?php
//.....
var_dump($tipo);
$query_count = mysql_query("SELECT * FROM ricette_cucina WHERE tipo='$tipo'") or die (mysql_error()); 
//.....
var_dump($tipo);
$query = mysql_query("SELECT * FROM ricette_cucina WHERE tipo='$tipo' LIMIT ".$inizio.",".$max) or die (mysql_error()); 
//......
?>
e dimmi cosa ti restituisce
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.039
146
63
PR
www.borgo-italia.it
ciao
ecco: il problema sta tutto li.
non trasmetti il valore di $tipo (infatti risulta NULL cioè vuoto).
da quello che ho capito tu vuoi fare un form di ricerca dove l'utente inserisce cosa vuole in un campo di input.
come già accennato manca nella pagina la ricezione
$tipo =$_POST['cerca'];
o qualcosa di simile.
se $tipo è vuoto è evidente che non trova nulla in quanto le query ti risultano.

$query_count ==> "SELECT * FROM ricette_cucina WHERE tipo=''"
e
$query ==> "SELECT * FROM ricette_cucina WHERE tipo='' LIMIT 1,10"

devi fare qualcosa di simile a quello che hai scritto al post #27
 

searedone

Utente Attivo
11 Giu 2010
508
0
0
Inanzitutto grazie mille ... Ti illumino su cosa devo fare cosi magari mi aiuti ..

Dato la mia poca praticita' in php ho lasciato il motore cosi...

Invece la paginazione vorrei utilizzarla per fare il listato degli annunci per evitare che debba farlo manualmente .. Cosi creo solo la pagina ..

In poche parole vorrei che la url che porta alla ricetta la foto in piccolo e una breve descrizione vada a crearsi in automatico man mano che aggiungo i risultati al motore ..

E la paginaione e ok .. Solo che nn riesco a capire da come l'hai scritto cosa devo fare !? Anche se ho capito dove sta l'errore !? Se puoi aiutarmi grazie tanto il codice e tutto nei post :)
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.039
146
63
PR
www.borgo-italia.it
ciao
prova questo, ho messo tutto in una paginetta (al massimo non funzia) e non ho riscritto la classe di paginazione
PHP:
<?php
if(isset($_POST['Submit'])){//se ho dato il submit
	$tipo=trim(strip_tags($_POST['ricerca']));//faccio una spece di pulizia
	//se $tipo è vuoto cerco tutto
	//altrimenti cerco tipo
	if($tipo==""){
		$where="";
	}else{
		$where=" WHERE tipo= '$tipo' ";
	}
	//includiamo il file della classe 
	require("paginazione.php"); 
	//connettiamoci a MySQL e selezioniamo il database 
	class MySQL{ 
		function MySQL(){  
			$this->host_name = "localhost"; 
			$this->user_name = "iscritti_dieta"; 
			$this->password = "searedone1"; 
			$this->data_name = "db_iscritti"; 
			$this->link = mysql_connect($this->host_name, $this->user_name, $this->password) or die (mysq_error());  
			mysql_select_db($this->data_name) or die (mysq_error());  
		}  
	}  
	$data = new MySQL(); 
	// istanziamo la classe per l'impaginazione 
	$p = new Paging; 
	// numero massimo di risultati per pagina 
	$max = 10; 
	// identifichiamo la pagina da cui iniziare la numerazione 
	$inizio = $p->paginaIniziale($max); 
	// contiamo i records nel database 
	$query_count = mysql_query("SELECT * FROM ricette_cucina $where ") or die (mysql_error()); 
	$count = mysql_num_rows($query_count) or die (mysql_error()); 
	// troviamo il numero delle pagine che dovrà essere contato 
	$pagine = $p->contaPagine($count, $max); 
	// limitiamo la SELECT al numero di risultati per pagina 
	$query = mysql_query("SELECT * FROM ricette_cucina $where LIMIT ".$inizio.",".$max) or die (mysql_error()); 
	//recuperiamo i dati da stampare 
	echo "<table class=\"pinco\">"; 
	echo "<tr><td>TIPO</td><td>TITOLO</td><td>URL</td><td>descrizione</td></tr>"; 
	while ($records = mysql_fetch_array($query)) {  
		// stampiamo i nostri dati  
		echo "<tr><td>".$records['tipo']."</td><td>".$records['titolo']."</td><td>".$records['url']."</td><td>".$records['url']."</td></tr>";  
	} 
	echo "</table>";
	//mostriamo le pagine 
	$lista = $p->listaPagine($_GET['p'], $pagine); 
	echo $lista . "<br>"; 
	//mostriamo il navigatore Precedente/Successiva 
	$navigatore = $p->precedenteSuccessiva($_GET['p'], $pagine); 
	echo $navigatore;
}
?> 
<form name="form1" method="post" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF'])?>;">
  <p>cerca 
    <input name="ricerca" type="text" id="ricerca">
</p>
  <p>
    <input type="submit" name="Submit" value="cerca">
</p>
</form>
p.s.
a te (se funzia) metterlo a posto graficamente con i css
 

searedone

Utente Attivo
11 Giu 2010
508
0
0
Grazie mille davvero gentilissimo, ma nn funziona...

Per la grafica nn ci sono problemi;)

molto Piu semplicemente ( il motore lo sistemerò) mi aiuti a far si che quel maledetto ciclo wile miprenda il records tipourl ecc ?!

Grazie mille in anticipo ( scusa ma al mOmento lo trovo Piu utile) così ho i link che vanno alle ricette nelle pagine senza scrivere ogni volta tutto ;)
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.039
146
63
PR
www.borgo-italia.it
ciao
cosa hai dentro il campo url?
qualcosa di simile
ricetta_1.php
?
se non ho capito male vorresti che cliccando su tipo o titolo andare alla pagina delle ricetta, giusto?
 

searedone

Utente Attivo
11 Giu 2010
508
0
0
Andiamo con ordine..

Allora inzialmente volevo fare un form dove postando la pagina mi si creasse direttamente l'url della ricetta la descrizione e di conseguenza il listato degli annunci come fosse non so il listato di subito per farti capire ...

MA questa è fantascienza per me ...

Allora cosa ho fatto :

Un form dove scrivendo tipo titolo descrizione e url quando faccio la query di ricerca mi viene fuori tutto e di conseguenza ( dato che la inserisco a mano ) l'url e linkabile alla pagina ... e fino qui tutto figo ..

ieri quando mi hai fatto scoprire la paginazione mi sono detto :

Se io posto già nel form tutti questi dati , ( ovviamente potrei aggiungerne o togliere ) posso far si che tramite la paginazione chi vada ( es in primi piatti ) TROVI ANCHE LI I RISULTATI CHE SI AUTOINCREMENTERANNO TRAMITE IL FORM IN AUTOMATICO ( ALTRIMENTI DOVREI SCRIVERE TRE VOLTE IL TUTTO )

E quindi al momento in base alle mie capacità vorrei fare questo ...

step 1 ) LA pagina della ricetta la costruisco volta per volta a manina .... e qui ok

step 2) Tramite form scrivo tipo url ecc ( cosi chi cerca tramite db ) trova la ricetta e il link e anche questo fatto

step 3 ) se mi puoi aiutare far si che nello script della paginazione ( ecco perchè tipo era per provare ) mi venga fuori la tipica notizia del listato di annunci ( cosi mi evito di scrivere il tutto una terza volta ) con la foto ( e questa la so mettere nel db ) l'url e la tipica breve descrizione di un qualsiasi sito di annunci , ma andrebbe in automatico ad auto incrementarsi ( con la paginazione ) tramite il form che posterei per il db di ricerca ,...

spero di essere stato chiaro ....

Ecco perchè vorrei capire come mai quel cavolo di ciclo while non funge , perchè basterebbe andare a mettere nelle pagina già pronta dei primi , secondi ecc los cript e si creerebbero gli annunci .. cosi uno puo' cercare per annunci e per db tramite la tipica finestra cerca ........

OK !?!?!?
 

searedone

Utente Attivo
11 Giu 2010
508
0
0
TROVATOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO

se capita a qualcuno di voler implementare la paginazione di mrwebmaster :) non serve mettere nulla basta solo creare il ciclo WHILE
PHP:
// contiamo i records nel database 
$query_count = @mysql_query("SELECT * FROM ricette_cucina ") or die (mysql_error()); 
$count = @mysql_num_rows($query_count) or die (mysql_error()); 

// troviamo il numero delle pagine che dovr‡ essere contato 
$pagine = $p->contaPagine($count, $max); 

// limitiamo la SELECT al numero di risultati per pagina 
$query = @mysql_query("SELECT * FROM ricette_cucina LIMIT ".$inizio.",".$max) or die (mysql_error()); 


//recuperiamo i dati da stampare 


while ($records = mysql_fetch_array($query)) {  





// stampiamo i nostri dati 

echo "url : " . $records['url'] ."<br />"; 

}
senza dover mettere nulla ...

L'errore era mettere nella query del database dopo FROM nome tabella tipo='$tipo' credendo che printava solo quel campo del db ...

Invece bisogna solo mettere il ciclo while con quello che si vuole printare .. cmq razie mille al gentilissimo Borgo Italia ... grazieeeee
 

micio86

Utente Attivo
Domanda faditica

Ce l'abbiamo fatta?!?!?!? :confused:
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.039
146
63
PR
www.borgo-italia.it
ciao

....FROM nome tabella WHERE tipo='$tipo'....
il where si utilizza per fare delle selezioni dei record, cioè per estrarre solo quei record il cui campo 'tipo' contiene il valore che c'è nella variabile $tipo.
(non per stampare solo tipo)
se vuoi vedere il funzionamento della paginazione combinata con delle selezioni guarda nel mio sito la sezione foto d'autore.

p.s.
funziona con quello script che ti avevo postato, anche se nel post ho messo solo una selezione