Problema database mercato 2
Problema database mercato 2 postato il 01/03/2012 23:40:51 nel forum programmazione, open source e hosting
Salve a tutti... sono nuovamente qui a chiedere il vostro preziosissimo aiuto!
Nella mia land, volevo creare vari tipi di mercato, tipo tenere quello predefinito e aggiungere ad esempio l'armeria a sé e un negozio di cose costose chiamato Luxury.
Ho creato quindi nel database il parametro Luxury e un nuovo parametro chiamato oggetto2, relativo agli oggetti.
Ho quindi creato gestione_Luxury e servizi_Luxury.php copiandola dal mercato e sostituendo i valori, ma quando cerco di entrare nel Luxury mi compare questo problema:
GDRCD MySQL Error [File: servizi_Luxury.inc.php; Line: 157]
ErrorCode: 1054
ErrorString: Unknown column 'oggetto2.id_oggetto2' in 'field list'
Dettaglio dell'errore: SELECT Luxury.numero2, oggetto2.id_oggetto2, oggetto2.nome, oggetto2.descrizione, oggetto2.costo, oggetto2.difesa, oggetto2.attacco, oggetto2.cariche, oggetto2.bonus_car0, oggetto2.bonus_car1, oggetto2.bonus_car2, oggetto2.bonus_car3, oggetto2.bonus_car4, oggetto2.bonus_car5, oggetto2.urlimg FROM oggetto JOIN Luxury ON oggetto2.id_oggetto2=Luxury.id_oggetto2 WHERE tipo = '5' ORDER BY oggetto.costo ASC
Inoltre denoto che entrando nel luxury, ci sono le stesse categorie del mercato... quindi sbaglio davvero qualcosa di importante!!
C'è qualcosa che salto ma non riesco proprio a capire cosa....
Vi ringrazio come sempre in anticipo!!!
Pagine → 1
02/03/2012 00:17:07 e modificato da neverlands il 02/03/2012 00:17:57
Per la vicenda degli oggetti del mercato normale:
FROM oggetto JOIN Luxury ON
Hai lasciato qui un "oggetto" invece che "oggetto2"
Possibile che quello infici tutto il resto...
Occhio anche a:
ORDER BY oggetto.costo ASC
Anche qui serve oggetto2.costo
02/03/2012 00:35:18
Scusami, mi ero dimenticato... Per le categorie standard dei vari oggetti alla linea 117 di servizi_mercato.inc.php trovi:
$query="SELECT cod_tipo, descrizione FROM codtipooggetto ORDER BY descrizione ";
Questo seleziona le tipologie di oggetti... Devi valutare come hai messo e dove hai messo le varie cose "luxury"
02/03/2012 01:15:21
Ok perfetto... sistemato e non mi da più errore, il problema è che se vado su un oggetto e apro dove selezionare la sua destinazione, il luxury non appare.... è questo che non capisco :-(
02/03/2012 01:42:17
Sempre in servizi_mercato alla linea 133 trovi:
<a href="main.php?page=servizi_mercato&op=visit&what=<?php echo gdrcd_filter('out',$row['cod_tipo']); ?>">
Devi sostituire "servizi_mercato" con quello della tua pagina "servizi_luxury" (ricordati di chiamarla servizi_luxury.inc.php e non solo .php) altrimenti semplicemente carichi le categorie che vuoi ma poi punti di nuovo alla vecchia pagina con quell' anchor. Quindi:
<a href="main.php?page=servizi_luxury&op=visit&what=<?php echo gdrcd_filter('out',$row['cod_tipo']); ?>">
Allo stesso modo alle linee 270 e 290:
<form action="main.php?page=servizi_mercato" method="post">
devi cambiare in "servizi_luxury" altrimenti il "compra e vendi" punta sempre alla pagina standard
02/03/2012 02:14:18
neverlands ha scritto: Sempre in servizi_mercato alla linea 133 trovi:
<a href="main.php?page=servizi_mercato&op=visit&what=<?php echo gdrcd_filter('out',$row['cod_tipo']); ?>">
Devi sostituire "servizi_mercato" con quello della tua pagina "servizi_luxury" (ricordati di chiamarla servizi_luxury.inc.php e non solo .php) altrimenti semplicemente carichi le categorie che vuoi ma poi punti di nuovo alla vecchia pagina con quell' anchor. Quindi:
<a href="main.php?page=servizi_luxury&op=visit&what=<?php echo gdrcd_filter('out',$row['cod_tipo']); ?>">
Allo stesso modo alle linee 270 e 290:
<form action="main.php?page=servizi_mercato" method="post">
devi cambiare in "servizi_luxury" altrimenti il "compra e vendi" punta sempre alla pagina standard
Ho controllato e avevo già fatto tutto ciò! Il problema è che se entro in una delle categorie del Luxury (uguali tra l'altro a quelle del mercato) mi dice Torna indietro come se fosse vuota, e fin qui andrebbe bene dato che non ho caricato nulla, ma se vado in gestione oggetti e cerco di assegnarne uno non mi da nessun Luxury!
E' per questo che sospetto ci sia qualcosa di non completo nel database!
02/03/2012 20:57:36
Nessuno riesce ad aiutarmi??
Ho provato a cambiare e ricambiare ma nulla... stesso problema... :(
02/03/2012 21:04:30
E' un po' generica come situazione perchè non so cosa hai toccato e dove per creare la pagina "gestione_luxury" (mi pare che il problema di cui parli sia lì)
Devi controllare da un lato tutte le query che fai in quella pagina per controllare che non sia rimasto niente che punta ad "oggetti".. Sia lì che nel "mercato"
02/03/2012 21:14:20 e modificato da kingthor il 02/03/2012 21:15:46
neverlands ha scritto: E' un po' generica come situazione perchè non so cosa hai toccato e dove per creare la pagina "gestione_luxury" (mi pare che il problema di cui parli sia lì)
Devi controllare da un lato tutte le query che fai in quella pagina per controllare che non sia rimasto niente che punta ad "oggetti".. Sia lì che nel "mercato"
Sei gentilissimo come sempre!! Ora provo a giungere al sodo... io ho creato nel database il parametro Luxury con le stesse impostazioni del mercato (tranne per il fatto che sia collegato a oggetti2) e Oggetti2 con le stesse impostazioni di Oggetti... poi ho inserito queste nuove pagine php in pages, ovvero servizi_Luxury e gestione_Luxury
provo a inserire il codice di servizi e gestione (se possibile, spero di non violare nessun regolamento)
<div class="pagina_servizi_Luxury">
<?php /*HELP: */
/*Verifico la liquidita' del PG*/
$row = gdrcd_query("SELECT soldi FROM personaggio WHERE nome='".$_SESSION['login']."'");
$money=$row['soldi'];
?>
<!-- Titolo della pagina -->
<div class="page_title">
<h2><?php echo gdrcd_filter('out',$MESSAGE['interface']['Luxury']['page_name']); ?></h2>
</div>
<!-- Corpo della pagina -->
<div class="page_body">
<?php /*Acquisto*/
if ($_POST['op']=='buy'){
/*Controllo se ha la grana*/
$costo=gdrcd_query("SELECT cariche, costo FROM oggetto WHERE id_oggetto2 = ".gdrcd_filter('num',$_POST['id_oggetto2'])."");
if ($money >= $costo['costo']){
/*Controllo se possiede gia' oggetti analoghi*/
$query="SELECT id_oggetto2 FROM clgpersonaggiooggetto WHERE id_oggetto2 = ".gdrcd_filter('num',$_POST['id_oggetto2'])." AND nome = '".$_SESSION['login']."'";
$result=gdrcd_query($query, 'result');
if (gdrcd_query($result, 'num_rows')>0){
$query="UPDATE clgpersonaggiooggetto SET numero = numero + 1 WHERE id_oggetto2 = ".gdrcd_filter('num',$_POST['id_oggetto2'])." AND nome = '".$_SESSION['login']."'";
} else {
$query="INSERT INTO clgpersonaggiooggetto (nome, id_oggetto2, cariche, numero, posizione) VALUES ('".$_SESSION['login']."',".gdrcd_filter('num',$_POST['id_oggetto2']).", ".$costo['cariche'].", 1, 0)";
}
/*Eseguo l'acquisto*/
gdrcd_query($query);
/*Esigo il quattrino*/
gdrcd_query("UPDATE personaggio SET soldi = soldi - ".$costo['costo']." WHERE nome = '".$_SESSION['login']."' LIMIT 1");
/*Riduco il Luxury*/
//$query="SELECT numero FROM Luxury WHERE id_oggetto2 = '".gdrcd_filter('num',$_POST['id_oggetto'])."' LIMIT 1";
//$result=mysql_query($query);
$check=gdrcd_query($result, 'fetch');
gdrcd_query($result, 'free');
if (gdrcd_filter('num',$_POST['numero']) > 1){
$query="UPDATE Luxury SET numero = numero - 1 WHERE id_oggetto2 = '".gdrcd_filter('num',$_POST['id_oggetto2'])."' LIMIT 1";
} else {
$query="DELETE FROM Luxury WHERE id_oggetto2 = '".gdrcd_filter('num',$_POST['id_oggetto2'])."' LIMIT 1";
}
gdrcd_query($query);
?>
<div class="warning">
<?php echo gdrcd_filter('out',$MESSAGE['warning']['buyed']);?>
</div>
<?php } else { ?>
<div class="error">
<?php echo gdrcd_filter('out',$MESSAGE['warning']['cant_do']);?>
</div>
<?php }?>
<!-- Link di ritorno alla visualizzazione di base -->
<div class="link_back">
<a href="main.php?page=servizi_Luxury">
<?php echo gdrcd_filter('out',$MESSAGE['interface']['Luxury']['back']); ?>
</a>
</div>
<?php } ?>
<?php /*Vendita*/
if (gdrcd_filter('get',$_POST['op'])=='sell'){
/*controllo che il PG abbia l'oggetto*/
$query="SELECT clgpersonaggiooggetto.numero, oggetto2.costo FROM clgpersonaggiooggetto LEFT JOIN oggetto2 ON clgpersonaggiooggetto.id_oggetto2 = oggetto.id_oggetto2 WHERE clgpersonaggiooggetto.id_oggetto2 = ".gdrcd_filter('num',$_POST['id_oggetto2'])." AND clgpersonaggiooggetto.nome = '".$_SESSION['login']."'";
#echo $query;
$result=gdrcd_query($query, 'result');
if(gdrcd_query($result, 'num_rows')>0){
$row=gdrcd_query($result, 'fetch');
gdrcd_query($result, 'free');
$costo_vendita=floor(($row['costo']/100)*(100-$PARAMETERS['settings']['resell_price']));
if ($row['numero']>1){
$query="UPDATE clgpersonaggiooggetto SET numero = numero - 1 WHERE id_oggetto2 = ".gdrcd_filter('num',$_POST['id_oggetto'])." AND nome = '".$_SESSION['login']."' LIMIT 1";}
else {
$query="DELETE FROM clgpersonaggiooggetto WHERE id_oggetto2 = ".gdrcd_filter('num',$_POST['id_oggetto'])." AND nome = '".$_SESSION['login']."' LIMIT 1";
}
gdrcd_query($query); ?>
<div class="warning">
<?php echo gdrcd_filter('out',$MESSAGE['warning']['buyed']);?>
</div>
<?php
gdrcd_query("UPDATE mercato SET numero = numero + 1 WHERE id_oggetto = ".gdrcd_filter('num',$_POST['id_oggetto2'])." LIMIT 1");
gdrcd_query("UPDATE personaggio SET soldi = soldi + ".gdrcd_filter('num',$costo_vendita)." WHERE nome = '".$_SESSION['login']."' LIMIT 1");
} else { ?>
<div class="error">
<?php echo gdrcd_filter('out',$MESSAGE['warning']['cant_do']);?>
</div>
<?php }//else ?>
<!-- Link di ritorno alla visualizzazione di base -->
<div class="link_back">
<a href="main.php?page=servizi_Luxury">
<?php echo gdrcd_filter('out',$MESSAGE['interface']['Luxury']['back']); ?>
</a>
</div>
<?php } ?>
<?php /*Visualizzazione di base*/
if ((isset($_POST['op'])===FALSE)&&(isset($_REQUEST['op'])===FALSE)){
/*Carico le categorie oggetto*/
$query="SELECT cod_tipo, descrizione FROM codtipooggetto ORDER BY descrizione ";
$result=gdrcd_query($query, 'result');?>
<!-- Form di inserimento/modifica -->
<div class="elenco_esteso">
<div class="elenco_record_gioco">
<table>
<!-- Intestazione tabella -->
<tr>
<td class="casella_titolo"><div class="capitolo_elenco">
<?php echo gdrcd_filter('out',$MESSAGE['interface']['Luxury']['categories']); ?>
</div></td>
</tr>
<?php while($row=gdrcd_query($result, 'fetch')){ ?>
<tr>
<td class="casella_elemento"><div class="elementi_elenco">
<a href="main.php?page=servizi_Luxury&op=visit&what=<?php echo gdrcd_filter('out',$row['cod_tipo']); ?>"><?php echo gdrcd_filter('out',$row['descrizione']); ?></a>
</div></td>
</tr>
<?php }//while
gdrcd_query($result, 'free');
?>
</table>
</div>
</div>
<?php }//if ?>
<?php if ($_REQUEST['op']=='visit') { /*Elenco oggetti*/
//Determinazione pagina (paginazione)
$pagebegin=(int)$_REQUEST['offset']*$PARAMETERS['settings']['records_per_page'];
$pageend=$PARAMETERS['settings']['records_per_page'];
//Conteggio record totali
$record_globale=gdrcd_query("SELECT COUNT(*) FROM mappa_click");
$totaleresults=$record_globale['COUNT(*)'];
//Lettura record
$query= "SELECT Luxury.numero2, oggetto2.id_oggetto2, oggetto2.nome, oggetto2.descrizione, oggetto2.costo, oggetto2.difesa, oggetto2.attacco, oggetto2.cariche, oggetto2.bonus_car0, oggetto2.bonus_car1, oggetto2.bonus_car2, oggetto2.bonus_car3, oggetto2.bonus_car4, oggetto2.bonus_car5, oggetto2.urlimg FROM oggetto2 JOIN Luxury ON oggetto2.id_oggetto2=Luxury.id_oggetto2 WHERE tipo = '".gdrcd_filter('get',$_REQUEST['what'])."' ORDER BY oggetto2.costo ASC";
$result=gdrcd_query($query, 'result');
$numresults=gdrcd_query($result, 'num_rows');
/* Se esistono record */
if ($numresults>0){ ?>
<!-- Elenco dei record paginato -->
<div class="elenco_record_gioco">
<table>
<!-- Intestazione tabella -->
<tr>
<td class="casella_titolo"><div class="titoli_elenco"><?php echo gdrcd_filter('out',$MESSAGE['interface']['Luxury']['item']); ?></div></td>
<td class="casella_titolo"><div class="titoli_elenco"><?php echo gdrcd_filter('out',$MESSAGE['interface']['Luxury']['bonus']); ?></div></td>
<td class="casella_titolo"><div class="titoli_elenco"><?php echo gdrcd_filter('out',$MESSAGE['interface']['Luxury']['more']); ?></div></td>
<td class="casella_titolo"><div class="titoli_elenco"><?php echo gdrcd_filter('out',$MESSAGE['interface']['Luxury']['price']); ?></div></td>
</tr>
<!-- Record -->
<?php while ($row=gdrcd_query($result, 'fetch')){ ?>
<tr>
<td class="casella_elemento_img">
<div class="inventario_nome"><?php echo $row['nome']; ?></div>
<div class="inventario_img">
<img src="themes/<?php echo $PARAMETERS['themes']['current_theme']; ?>/imgs/items/<?php echo $row['urlimg']; ?>" />
</div>
<div class="inventario_quantita"><?php echo $MESSAGE['interface']['Luxury']['stock'].': '.$row['numero']; ?></div>
</td>
<td class="casella_elemento">
<div class="inventario_riga_proprieta">
<div style="float: left; clear: left;">
<?php echo gdrcd_filter('out',$MESSAGE['interface']['Luxury']['attack'].': '); ?>
</div>
<div style="float: right; clear: right;">
<?php echo $row['attacco']; ?>
</div>
</div>
<div class="inventario_riga_proprieta">
<div style="float: left; clear: left;">
<?php echo gdrcd_filter('out',$MESSAGE['interface']['Luxury']['defence'].': '); ?>
</div>
<div style="float: right; clear: right;">
<?php echo $row['difesa']; ?>
</div>
</div>
<div class="inventario_riga_proprieta">
<div style="float: left; clear: left;">
<?php echo gdrcd_filter('out',$PARAMETERS['names']['stats']['car0'].': '); ?>
</div>
<div style="float: right; clear: right;">
<?php echo $row['bonus_car0']; ?>
</div>
</div>
<div class="inventario_riga_proprieta">
<div style="float: left; clear: left;">
<?php echo gdrcd_filter('out',$PARAMETERS['names']['stats']['car1'].': '); ?>
</div>
<div style="float: right; clear: right;">
<?php echo $row['bonus_car1']; ?>
</div>
</div>
<div class="inventario_riga_proprieta">
<div style="float: left; clear: left;">
<?php echo gdrcd_filter('out',$PARAMETERS['names']['stats']['car2'].': '); ?>
</div>
<div style="float: right; clear: right;">
<?php echo $row['bonus_car2']; ?>
</div>
</div>
<div class="inventario_riga_proprieta">
<div style="float: left; clear: left;">
<?php echo gdrcd_filter('out',$PARAMETERS['names']['stats']['car3'].': '); ?>
</div>
<div style="float: right; clear: right;">
<?php echo $row['bonus_car3']; ?>
</div>
</div>
<div class="inventario_riga_proprieta">
<div style="float: left; clear: left;">
<?php echo gdrcd_filter('out',$PARAMETERS['names']['stats']['car4'].': '); ?>
</div>
<div style="float: right; clear: right;">
<?php echo $row['bonus_car4']; ?>
</div>
</div>
<div class="inventario_riga_proprieta">
<div style="float: left; clear: left;">
<?php echo gdrcd_filter('out',$PARAMETERS['names']['stats']['car5'].': '); ?>
</div>
<div style="float: right; clear: right;">
<?php echo $row['bonus_car5']; ?>
</div>
</div>
<div class="inventario_riga_proprieta">
<div style="float: left; clear: left;">
<?php echo gdrcd_filter('out',$MESSAGE['interface']['Luxury']['item_charges'].': '); ?>
</div>
<div style="float: right; clear: right;">
<?php if ($row['cariche']>0){
echo $row['cariche'];
} else {
echo $MESSAGE['interface']['Luxury']['no_charges'];
}?>
</div>
</div>
</td>
<td class="casella_elemento">
<div class="inventario_riga_descrizione">
<?php echo $row['descrizione']; ?>
</div>
</td>
<td class="casella_controlli"><!-- Iconcine dei controlli -->
<!-- Modifica -->
<div class="controlli_elenco">
<div class="form_gioco" >
<form action="main.php?page=servizi_Luxury" method="post">
<input type="hidden" name="id_oggetto" value="<?php echo $row['id_oggetto2']?>" />
<input type="hidden" name="costo" value="<?php echo $row['costo']?>" />
<input type="hidden" name="cariche" value="<?php echo $row['cariche']?>" />
<input type="hidden" name="numero" value="<?php echo $row['numero']?>" />
<input type="hidden" name="op" value="buy" />
<div class='form_label'>
<?php echo $row['costo'].' '.$PARAMETERS['names']['currency']['short']; ?>
</div>
<div class='form_submit'>
<input type="submit"
name="butt"
<?php if ($money<$row['costo']){ echo 'disabled ';}?>
value="<?php echo gdrcd_filter('out',$MESSAGE['interface']['Luxury']['buy']); ?>" />
</div>
</form>
</div>
<!-- Elimina -->
<div class="form_gioco" >
<form action="main.php?page=servizi_Luxury" method="post">
<input type="hidden" name="id_oggetto" value="<?php echo $row['id_oggetto']?>" />
<input type="hidden" name="costo" value="<?php echo ($row['costo']/100)*(100-$PARAMETERS['settings']['resell_price'])?>" />
<input type="hidden" name="op" value="sell" />
<div class='form_label'>
<?php echo floor(($row['costo']/100)*(100-$PARAMETERS['settings']['resell_price'])).' '.$PARAMETERS['names']['currency']['short']; //decremento di costo?>
</div>
<div class='form_submit'>
<input type="submit"
name="butt"
value="<?php echo gdrcd_filter('out',$MESSAGE['interface']['Luxury']['sell']); ?>" />
</div>
</form>
</div>
</div>
</td>
</tr>
<?php } //while
gdrcd_query($result, 'free');
?>
</table>
</div>
<?php }//if ?>
<!-- Paginatore elenco -->
<div class="pager">
<?php if($totaleresults>$PARAMETERS['settings']['records_per_page']){
echo gdrcd_filter('out',$MESSAGE['interface']['pager']['pages_name']);
for($i=0;$i<=floor($totaleresults/$PARAMETERS['settings']['records_per_page']);$i++){ ?>
<a href="main.php?page=gestione_mappe&offset=<?php echo $i; ?>"><?php echo $i+1; ?></a>
<?php } //for
}//if ?>
</div>
<!-- link back -->
<div class="link_back">
<a href="main.php?page=servizi_Luxury">
<?php echo gdrcd_filter('out',$MESSAGE['interface']['Luxury']['back']); ?>
</a>
</div>
<?php }//else ?>
</div>
</div><!--Pagina-->
e ora gestione_luxury
<div class="pagina_gestione_Luxury">
<?php /*HELP: Pagina di gestione del Luxury */
/*Controllo permessi*/
if ($_SESSION['permessi']<MODERATOR){
echo '<div class="error">'.gdrcd_filter('out',$MESSAGE['error']['not_allowed']).'</div>';
} else {
if (isset($_POST['op'])===TRUE){
/*Se e' stato richiesto di caricare un oggetto*/
if ($_POST['op']=='load')
{
$loaded_item=gdrcd_query("SELECT * FROM oggetto WHERE id_oggetto=".gdrcd_filter('num',$_POST['load_item'])."");
$characters=gdrcd_query("SELECT nome FROM personaggio ORDER BY nome", 'result');
}
/*Se e' stato richiesto di modificare un oggetto...*/
if ($_POST['op']=='update'){
/*...modificando i campi*/
if (isset($_POST['modifica'])===TRUE){
gdrcd_query("UPDATE oggetto SET tipo=".gdrcd_filter('in',$_POST['tipo_oggetto']).", nome='".gdrcd_filter('in',$_POST['nome_oggetto'])."', urlimg='".gdrcd_filter('in',$_POST['img_oggetto'])."', descrizione='".gdrcd_filter('in', $_POST['descrizione_oggetto'])."', costo=".gdrcd_filter('num', $_POST['costo_oggetto']).", ubicabile=".gdrcd_filter('num',$_POST['fit_in']).", attacco=".gdrcd_filter('num',$_POST['attacco_oggetto']).", difesa=".gdrcd_filter('num',$_POST['difesa_oggetto']).", cariche=".gdrcd_filter('num',$_POST['cariche_oggetto']).", bonus_car0=".gdrcd_filter('num',$_POST['car0_oggetto']).", bonus_car1=".gdrcd_filter('num',$_POST['car1_oggetto']).", bonus_car2=".gdrcd_filter('num',$_POST['car2_oggetto']).", bonus_car3=".gdrcd_filter('num',$_POST['car3_oggetto']).", bonus_car4=".gdrcd_filter('num',$_POST['car4_oggetto']).", bonus_car5=".gdrcd_filter('num',$_POST['car5_oggetto'])." WHERE id_oggetto=".gdrcd_filter('num',$_POST['id_oggetto'])."");
echo '<div class="warning">'.gdrcd_filter('out',$MESSAGE['warning']['modified']).'</div>';
}
/*...eliminandolo*/
else if (isset($_POST['elimina'])===TRUE){
/*Risarcisco gli eventuali possessori */
$rec=gdrcd_query("SELECT costo FROM oggetto WHERE id_oggetto=".gdrcd_filter('num',$_POST['id_oggetto'])." LIMIT 1");
$refound = gdrcd_query("SELECT nome FROM clgpersonaggiooggetto WHERE id_oggetto=".gdrcd_filter('num',$_POST['id_oggetto'])."", 'result');
while ($do_refound = gdrcd_query($refound, 'fetch'))
{
gdrcd_query("UPDATE personaggio SET soldi = soldi + ".gdrcd_filter('num',$rec['costo'])." WHERE nome = '".$do_refound['nome']."'");
}
gdrcd_query($refound, 'free');
/*Elimino l'oggetto*/
gdrcd_query("DELETE FROM oggetto WHERE id_oggetto=".gdrcd_filter('num',$_POST['id_oggetto'])." LIMIT 1");
gdrcd_query("DELETE FROM clgpersonaggiooggetto WHERE id_oggetto=".gdrcd_filter('num',$_POST['id_oggetto']));
echo '<div class="warning">'.gdrcd_filter('out',$MESSAGE['warning']['modified']).'</div>';
} else { }
}
/*Se e' stato richiesto di inserire un oggetto*/
if (gdrcd_filter('get',$_POST['op'])=='insert'){
if (gdrcd_filter('get',$_POST['img_oggetto'])=='') {$immagine_oggetto='standard_oggetto.png';}
else {$immagine_oggetto=gdrcd_filter('get',$_POST['img_oggetto']);}
gdrcd_query("INSERT INTO oggetto (tipo, nome, urlimg, descrizione, costo, ubicabile, attacco, difesa, cariche, bonus_car0, bonus_car1, bonus_car2, bonus_car3, bonus_car4, bonus_car5, creatore, data_inserimento) VALUES (".gdrcd_filter('in',$_POST['tipo_oggetto']).", '".gdrcd_filter('in',$_POST['nome_oggetto'])."', '".gdrcd_filter('in',$immagine_oggetto)."', '".gdrcd_filter('in',$_POST['descrizione_oggetto'])."', ".gdrcd_filter('num',$_POST['costo_oggetto']).", ".gdrcd_filter('num',$_POST['fit_in']).", ".gdrcd_filter('num',$_POST['attacco_oggetto']).", ".gdrcd_filter('num',$_POST['difesa_oggetto']).", ".gdrcd_filter('num',$_POST['cariche_oggetto']).", ".gdrcd_filter('num',$_POST['car0_oggetto']).", ".gdrcd_filter('num',$_POST['car1_oggetto']).", ".gdrcd_filter('num',$_POST['car2_oggetto']).", ".gdrcd_filter('num',$_POST['car3_oggetto']).", ".gdrcd_filter('num',$_POST['car4_oggetto']).", ".gdrcd_filter('num',$_POST['car5_oggetto']).", '".$_SESSION['login']."', NOW())");
echo '<div class="warning">'.gdrcd_filter('out',$MESSAGE['warning']['inserted']).'</div>';
}
/*Se e' stato richiesto di assegnare un oggetto al Luxury o ad un PG*/
if ((gdrcd_filter('get',$_POST['op'])=='assign') && (gdrcd_filter('num',$_POST['num_oggetti'])>0)){
if ($_POST['give_item']=='Luxury')
{
$result = gdrcd_query("SELECT id_oggetto FROM Luxury WHERE id_oggetto = ".$_POST['id_oggetto']."", 'result');
if (gdrcd_query($result, 'num_rows')>0)
{
gdrcd_query($result, 'free');
$query="UPDATE Luxury SET numero = ".gdrcd_filter('num',$_POST['num_oggetti'])." WHERE id_oggetto = ".gdrcd_filter('num',$_POST['id_oggetto'])."";
} else
{
$query="INSERT INTO Luxury (id_oggetto, numero) VALUES (".gdrcd_filter('num',$_POST['id_oggetto']).", ".gdrcd_filter('num',$_POST['num_oggetti']).")";
}
gdrcd_query($query);
} else {
$result=gdrcd_query("SELECT id_oggetto FROM clgpersonaggiooggetto WHERE id_oggetto = ".gdrcd_filter('num',$_POST['id_oggetto'])." AND nome = '".gdrcd_filter('in',$_POST['give_item'])."'", 'result');
if (gdrcd_query($result, 'num_rows')>0)
{
gdrcd_query($result, 'free');
$query="UPDATE clgpersonaggiooggetto SET numero = numero + ".gdrcd_filter('num',$_POST['num_oggetti'])." WHERE id_oggetto = ".gdrcd_filter('num',$_POST['id_oggetto'])." AND nome = '".gdrcd_filter('in',$_POST['give_item'])."'";
} else {
$query="INSERT INTO clgpersonaggiooggetto (nome, id_oggetto, cariche, numero) VALUES ('".gdrcd_filter('in',$_POST['give_item'])."', ".gdrcd_filter('num',$_POST['id_oggetto']).", ".gdrcd_filter('num',$_POST['cariche_oggetto']).", ".gdrcd_filter('num',$_POST['num_oggetti']).")";
}
gdrcd_query($query);
}
echo '<div class="warning">'.gdrcd_filter('out',$MESSAGE['warning']['modified']).'</div>';
}
}
$elenco_oggetti=gdrcd_query("SELECT id_oggetto, nome FROM oggetto ORDER BY nome", 'result');
$tipi_oggetto=gdrcd_query("SELECT * FROM codtipooggetto ORDER BY descrizione", 'result');
?>
<div class="panels_box">
<!-- Elenco degli oggetti esistenti -->
<div class="panels_box">
<form class="form_gestione" action="main.php?page=gestione_Luxury" method="post">
<div class='form_label'>
<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['items']['load_item']); ?>
</div>
<div class='form_field'>
<?php if(gdrcd_query($elenco_oggetti, 'num_rows')>0){ ?>
<select name="load_item">
<?php while($option=gdrcd_query($elenco_oggetti, 'fetch')){ ?>
<option value="<?php echo $option['id_oggetto']; ?>">
<?php echo gdrcd_filter('out',$option['nome']); ?>
</option>
<?php }
gdrcd_query($elenco_oggetti, 'free');
?>
</select>
<?php } ?>
</div>
<input type="hidden" name="op" value="load" />
<div class='form_submit'>
<input type="submit" value="<?php echo gdrcd_filter('out',$MESSAGE['interface']['forms']['submit']); ?>" />
</div>
</form>
</div>
<!-- Form di impostazione dei campi -->
<form class="form_gestione" action="main.php?page=gestione_Luxury" method="post">
<div class='form_label'>
<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['items']['item_type']); ?>
</div>
<div class='form_field'>
<?php if(gdrcd_query($tipi_oggetto, 'num_rows')>0){ ?>
<select name="tipo_oggetto">
<?php while($option=gdrcd_query($tipi_oggetto, 'fetch')){ ?>
<option value="<?php echo $option['cod_tipo']; ?>" <?php if($loaded_item['tipo']==$option['cod_tipo']){ echo 'SELECTED'; } ?>>
<?php echo gdrcd_filter('out',$option['descrizione']); ?>
</option>
<?php }
gdrcd_query($tipi_oggetto, 'free');
?>
</select>
<?php } ?>
</div>
<!-- link crea nuovo -->
<div class="link_back">
<a href="main.php?page=gestione_tipi&types=items">
<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['items']['link']['menage_types']); ?>
</a>
</div>
<div class='form_label'>
<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['items']['item_name']); ?>
</div>
<div class='form_field'>
<input type="text" name="nome_oggetto" value="<?php echo $loaded_item['nome']; ?>" />
</div>
<div class='form_label'>
<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['items']['item_image']); ?>
</div>
<div class='form_field'>
<input type="text" name="img_oggetto" value="<?php echo $loaded_item['urlimg']; ?>" />
</div>
<div class='form_label'>
<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['items']['item_info']); ?>
</div>
<div class='form_field'>
<textarea type="textbox" name="descrizione_oggetto"><?php echo $loaded_item['descrizione']; ?></textarea>
</div>
<div class='form_label'>
<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['items']['item_price']); ?>
</div>
<div class='form_field'>
<input type="text" name="costo_oggetto" value="<?php echo (int)$loaded_item['costo']; ?>" />
</div>
<div class='form_label'>
<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['items']['item_fit_in']); ?>
</div>
<div class='form_field'>
<select name="fit_in">
<option value="<?php echo INVENTARIO; ?>" <?php if($loaded_item['ubicabile']==INVENTARIO){echo 'selected';}?>>
<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['items']['fit_in']['inventory']); ?>
</option>
<option value="<?php echo ZAINO; ?>" <?php if($loaded_item['ubicabile']==ZAINO){echo 'selected';}?>>
<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['items']['fit_in']['bag']); ?>
</option>
<option value="<?php echo MANODX; ?>" <?php if($loaded_item['ubicabile']==MANODX){echo 'selected';}?>>
<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['items']['fit_in']['hand_dx']); ?>
</option>
<option value="<?php echo MANOSX; ?>" <?php if($loaded_item['ubicabile']==MANOSX){echo 'selected';}?>>
<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['items']['fit_in']['hand_sx']); ?>
</option>
<option value="<?php echo TORSO; ?>" <?php if($loaded_item['ubicabile']==TORSO){echo 'selected';}?>>
<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['items']['fit_in']['chest']); ?>
</option>
<option value="<?php echo GAMBE; ?>" <?php if($loaded_item['ubicabile']==GAMBE){echo 'selected';}?>>
<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['items']['fit_in']['legs']); ?>
</option>
<option value="<?php echo PIEDI; ?>" <?php if($loaded_item['ubicabile']==PIEDI){echo 'selected';}?>>
<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['items']['fit_in']['feet']); ?>
</option>
<option value="<?php echo TESTA; ?>" <?php if($loaded_item['ubicabile']==TESTA){echo 'selected';}?>>
<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['items']['fit_in']['head']); ?>
</option>
<option value="<?php echo ANELLO; ?>" <?php if($loaded_item['ubicabile']==ANELLO){echo 'selected';}?>>
<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['items']['fit_in']['ring']); ?>
</option>
<option value="<?php echo COLLO; ?>" <?php if($loaded_item['ubicabile']==COLLO){echo 'selected';}?>>
<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['items']['fit_in']['neck']); ?>
</option>
</select>
</div>
<div class='form_label'>
<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['items']['item_bonus_offensive']); ?>
</div>
<div class='form_field'>
<input type="text" name="attacco_oggetto" value="<?php echo (int)$loaded_item['attacco']; ?>" />
</div>
<div class='form_label'>
<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['items']['item_bonus_defensive']); ?>
</div>
<div class='form_field'>
<input type="text" name="difesa_oggetto" value="<?php echo (int)$loaded_item['difesa']; ?>" />
</div>
<div class='form_label'>
<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['items']['item_charges']); ?>
</div>
<div class='form_field'>
<input type="text" name="cariche_oggetto" value="<?php echo (int)$loaded_item['cariche']; ?>" />
</div>
<div class='form_label'>
<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['items']['item_bonus']).' '.gdrcd_capital_letter(gdrcd_filter('out', $PARAMETERS['names']['stats']['car0'])); ?>
</div>
<div class='form_field'>
<input type="text" name="car0_oggetto" value="<?php echo (int)$loaded_item['bonus_car0']; ?>" />
</div>
<div class='form_label'>
<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['items']['item_bonus']).' '.gdrcd_capital_letter(gdrcd_filter('out', $PARAMETERS['names']['stats']['car1'])); ?>
</div>
<div class='form_field'>
<input type="text" name="car1_oggetto" value="<?php echo (int)$loaded_item['bonus_car1']; ?>" />
</div>
<div class='form_label'>
<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['items']['item_bonus']).' '.gdrcd_capital_letter(gdrcd_filter('out', $PARAMETERS['names']['stats']['car2'])); ?>
</div>
<div class='form_field'>
<input type="text" name="car2_oggetto" value="<?php echo (int)$loaded_item['bonus_car2']; ?>" />
</div>
<div class='form_label'>
<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['items']['item_bonus']).' '.gdrcd_capital_letter(gdrcd_filter('out', $PARAMETERS['names']['stats']['car3'])); ?>
</div>
<div class='form_field'>
<input type="text" name="car3_oggetto" value="<?php echo (int)$loaded_item['bonus_car3']; ?>" />
</div>
<div class='form_label'>
<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['items']['item_bonus']).' '.gdrcd_capital_letter(gdrcd_filter('out', $PARAMETERS['names']['stats']['car4'])); ?>
</div>
<div class='form_field'>
<input type="text" name="car4_oggetto" value="<?php echo (int)$loaded_item['bonus_car4']; ?>" />
</div>
<div class='form_label'>
<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['items']['item_bonus']).' '.gdrcd_capital_letter(gdrcd_filter('out', $PARAMETERS['names']['stats']['car5'])); ?>
</div>
<div class='form_field'>
<input type="text" name="car5_oggetto" value="<?php echo (int)$loaded_item['bonus_car5']; ?>" />
</div>
<?php if (isset($loaded_item)==TRUE){ ?>
<input type="hidden" name="op" value="update" />
<input type="hidden" name="id_oggetto" value="<?php echo $loaded_item['id_oggetto']; ?>" />
<?php } else { ?>
<input type="hidden" name="op" value="insert" />
<?php } ?>
<div class='form_submit'>
<input type="submit" name="modifica" value="<?php echo gdrcd_filter('out',$MESSAGE['interface']['forms']['submit']); ?>" />
<?php if (isset($loaded_item)==TRUE){ ?>
<input type="submit" name="elimina" value="<?php echo gdrcd_filter('out',$MESSAGE['interface']['forms']['delete']); ?>" />
<input type="submit" name="annulla" value="<?php echo gdrcd_filter('out',$MESSAGE['interface']['forms']['cancel']); ?>" />
<?php } ?>
</div>
</form>
<!-- Form di assegnazione oggetti (appare solo se è stato caricato un oggetto) -->
<?php if (isset($loaded_item)==TRUE){ ?>
<div class="panels_box">
<form class="form_gestione" action="main.php?page=gestione_Luxury" method="post">
<div class='form_label'>
<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['items']['give_item']); ?>
</div>
<div class='form_label'>
<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['items']['number_item']); ?>
</div>
<div class='form_field'>
<input type="text" name="num_oggetti" value="0" />
</div>
<div class='form_label'>
<?php echo gdrcd_filter('out',$MESSAGE['interface']['administration']['items']['destination_item']); ?>
</div>
<div class='form_field'>
<?php if(gdrcd_query($characters, 'num_rows')>0){ ?>
<select name="give_item">
<option value="Luxury"><?php echo gdrcd_filter('out',$PARAMETERS['names']['Luxury_name']); ?></option>
<?php while($option=gdrcd_query($characters, 'fetch')){ ?>
<option value="<?php echo $option['nome']; ?>">
<?php echo gdrcd_filter('out',$option['nome']); ?>
</option>
<?php }
gdrcd_query($characters, 'free');
?>
</select>
<?php } ?>
</div>
<input type="hidden" name="id_oggetto" value="<?php echo $loaded_item['id_oggetto']; ?>" />
<input type="hidden" name="cariche_oggetto" value="<?php echo $loaded_item['cariche']; ?>" />
<input type="hidden" name="op" value="assign" />
<div class='form_submit'>
<input type="submit" value="<?php echo gdrcd_filter('out',$MESSAGE['interface']['forms']['submit']); ?>" />
</div>
</form>
</div>
<?php } ?>
</div>
<?php
}//else
?>
</div><!-- Pagina -->
02/03/2012 22:01:30
Ho dato solo un occhio perchè non ho il tempo (e ammetto anche la voglia, ad essere sinceri) di controllare riga per riga il tutto....
Quello che ti posso dire è che ho visto già diversi errori sia in termini di "query" che a mio avviso di filosofia... Perchè da un lato vedo ancora richieste, soprattutto all'inizio che puntano a "oggetti" e non "oggetti2".
D'altro lato io vedo che hai creato delle tabelle con degli id personali e nuovi. E chiedi di inserirli all'interno di clgoggettipersonaggio (o come si chiama, non mi ricordo mai). Ma lì se inserisci degli id cerca di ricollegarli in automatico agli oggetti standard. Mi spiego meglio: se un oggetto luxury ha ID 54, lui andrà a far vedere in scheda l'oggetto normale che ha ID 54... Non quello che tu hai chiesto.
Non era più semplice creare un campo nuovo in "oggetti" che fosse "Luxury" con semplice valore 0-1 e cambiare leggermente le query aggiungendo dove serve "WHERE luxury = 1" oppure "WHERE luxury = 0" per i due mercati?
Mantenevi anche intatto il meccanismo generale...
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!
AlterEgo ↗
CRSED: F.O.A.D. ↗
Raja Dunia ↗
World of Tanks ↗
Project Entropy ↗
Fallen Gods ↗
Storie di Agarthi ↗
RAID Shadow Legends ↗
World of Warship ↗
Wuthering Waves ↗