Problema funzione SELECT -LIMIT e visualizzazione immagini.
Problema funzione SELECT -LIMIT e visualizzazione immagini. postato il 19/04/2015 16:00:00 nel forum programmazione, open source e hosting
Salve a tutti, ho da poco terminato di adattare il pannello delle gilde alle razze(quello di gdrcd5.3), tuttavia ho un problemino con la funzione select, in quanto non ho idea di come impostare il LIMIT, utile a visualizzare solo i membri della razza e senza che li moltiplichi o ne visualizzi meno.
Il codice in questione è questo qui
<?php /*Elenco affiliati*/
$query= " SELECT razza.id_razza, razza.nome_razza, razza.iconc, razza.iconm, razza.iconf, personaggio.sesso, personaggio.cognome, personaggio.nome, personaggio.id_razza FROM razza
INNER JOIN personaggio WHERE personaggio.id_razza= ".gdrcd_filter('num',$_REQUEST['id_razza'])." LIMIT
";
$result=gdrcd_query($query, 'result');
?>
In questo modo mi visualizza si tutti gli appartenenti alla razza ma li moltiplica 4 volte. Quindi se la razza ha 4 presenti, si vedranno invece 16 presenti.
Ho provato ad impostare il LIMIT in base al SELECT COUNT , ma non funziona ugualmente. Dunque, come posso risolvere?
L'altro problema ,anche se minore, è quello della visualizzazione delle immaggini:
in poche parole all'interno della tabella razze esiste una colonna chiamata appunto immagine.
tuttavia quando per stamparla inserisco:
<img
src="themes/<?php echo gdrcd_filter('out',$PARAMETERS['themes']['current_theme']); ?>/imgs/races/<?php echo gdrcd_filter('out',$row['immagine']); ?>" >
Non si visualizza nulla, il che è abastanza strano, perchè il SELECT sopra richiama proprio quella tabella.
<?php /*Visualizzazione estesa razza*/
} else {
$query= "SELECT razza.nome_razza, razza.sing_c, razza.sing_m, razza.immagine, razza.iconc, razza.iconm, razza.iconf, razza.sing_f, razza.id_razza FROM razza WHERE razza.id_razza = ".gdrcd_filter('num',$_REQUEST['id_razza'])." ORDER BY nome_razza";
$result=gdrcd_query($query, 'result'); ?>
Grazie a chiunque mi risponderà.
Pagine → 1
19/04/2015 16:03:50 e modificato da mrpanda il 19/04/2015 16:04:26
Prova a scrivere
[...]WHERE personaggio.id_razza= razza.id_razza[...]
19/04/2015 18:25:14
sicuro che quella query non ti duplichi i risultati perchè all'intenro di qualche ciclo tipo while antecedente la query?
Nel senso se la esegui direttamente dal phpmyadmin ti da i risultati una volta sola o più volte, perchè non vedo il possibile errore in quella query
20/04/2015 18:13:36
spyker ha scritto: Prova così:
$query = "
SELECT razza.id_razza, razza.nome_razza, razza.iconc, razza.iconm, razza.iconf, personaggio.sesso, personaggio.cognome, personaggio.nome, personaggio.id_razza
FROM personaggio
LEFT JOIN razza
ON personaggio.id_razza = razza.id_razza
WHERE personaggio.id_razza= ".gdrcd_filter('num',$_REQUEST['id_razza']).";
Ti ringrazio moltissimo, modificando la funzione in questo modo è tornato tutto a posto :)
Risolto questo problema, qualcuno può aiutarmi con il problema delle immagini che ho scritto sopra?
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!
Enlisted ↗