Ir para conteúdo

Featured Replies

Postado

.Qual servidor ou website você utiliza como base? 

OTX2

 

Qual o motivo deste tópico? 

Estou colocando o widget do castlewar no meu Site. 

Porém ao colocar o script abaixo em /layout.php não estou conseguindo nenhum resultado...

Quando removi a primeira do script que executa a Query no layout.php, citada abaixo, a imagem do castlewar aparece, mas não informa a guild que dominiou.

 

No phpmyadmin executei a seguinte ação para criar a tabela:

 CREATE TABLE IF NOT EXISTS `castelo_guerra` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `guild` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=17 ;

INSERT INTO `castelo_guerra` (`id`, `guild`) VALUES
(1, 1); 

 

Na lib está incluso:

function guildVencedora()
    local name
    local consulta = db.getResult("SELECT `guild` FROM `castelo_guerra` ORDER BY `id` DESC;")
    if (consulta:getID() ~= -1) then
        name = tonumber(consulta:getDataInt('guild'))
    else
        return 0
    end
    return name
end

 

No .lua Quando o castle é dominado está incluso:

doPlayerSendTextMessage(cid, 20, "[Castle of Honor] Você e sua guild estão no comando, os antigos donos ["..tostring(getGlobalStorageValue(COH_STATUS)).."] podem se vingar!")
       setGlobalStorageValue(COH_PREPARE1, -1)
       setGlobalStorageValue(COH_PREPARE2, -1)
         db.query("INSERT INTO `castelo_guerra` (`guild`) VALUES (" .. getPlayerGuildId(cid) .. ");")

 

 

image.png.8d20318ef1322393cfb5914c7e3c613f.png

 

Ao excluir essas linha do script que foi incluso no layout.php a imagem aparece conforme acima, mas não traz resultado! Quando ela continua não aparece nada.

Citar

<?php 
$consulta = $SQL->query('SELECT `guild` FROM `castelo_guerra` ORDER BY `id` ASC;'); 
$number_of_rows = 0; 

 

Você tem o código disponível? Se tiver publique-o aqui: 

 

<div class="sidebar">
  <?php 
$consulta = $SQL->query('SELECT `guild` FROM `castelo_guerra` ORDER BY `id` ASC;'); 
$number_of_rows = 0; 

foreach($consulta as $guildid){
    $id = $guildid['guild'];
}
$consulta2 = $SQL->query('SELECT `name`, `logo_gfx_name` FROM `guilds` WHERE id = '.$id.';'); 
?>
<style type="text/css" media="all">
   .name {
    position: relative;
    top:40px;
    text-align: center;
    font-family: Tahoma, Geneva, sans-serif;
    font-size: 9.2pt;
    color: #FFF;
    font-weight: bold;
   }
   .logo {
    position: relative;
    top: 50px;
    text-align: center;
   }
  .CastleWarbox {
    position: relative;
    margin-top: 160px;
    margin-bottom: 5px;
    width: 200px;
    height: 200px;
  }
</style>
    <div id="CastleWar" class="CastleWarbox" style="background-image:url(https://i.imgur.com/ASZv7fN.png);">
         <?php
        if ($guild) {
        ?>
            <div class="logo">
                 <img style="max-height:100px;" src="<?php logo_exists($guild['name']); ?>">
            </div>
            <div class = "name">
                <?php echo '<br><a href="guilds.php?name='.$guild['name'].'">'.$guild["name"].'</a><br>';?>
            </div>
                        
        <?php
        }else ?>
        <div class = "name">
                <?php echo '<br><br><br><p>No Have Owner</p><br>';?>
        </div>
   </div>
</div>


 

Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 

 

51 minutos atrás, ferizk disse:

.Qual servidor ou website você utiliza como base? 

OTX2

 

Qual o motivo deste tópico? 

Estou colocando o widget do castlewar no meu Site. 

Porém ao colocar o script abaixo em /layout.php não estou conseguindo nenhum resultado...

Quando removi a primeira do script que executa a Query no layout.php, citada abaixo, a imagem do castlewar aparece, mas não informa a guild que dominiou.

 

No phpmyadmin executei a seguinte ação para criar a tabela:

 CREATE TABLE IF NOT EXISTS `castelo_guerra` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `guild` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=17 ;

INSERT INTO `castelo_guerra` (`id`, `guild`) VALUES
(1, 1); 

 

Na lib está incluso:

function guildVencedora()
    local name
    local consulta = db.getResult("SELECT `guild` FROM `castelo_guerra` ORDER BY `id` DESC;")
    if (consulta:getID() ~= -1) then
        name = tonumber(consulta:getDataInt('guild'))
    else
        return 0
    end
    return name
end

 

No .lua Quando o castle é dominado está incluso:

doPlayerSendTextMessage(cid, 20, "[Castle of Honor] Você e sua guild estão no comando, os antigos donos ["..tostring(getGlobalStorageValue(COH_STATUS)).."] podem se vingar!")
       setGlobalStorageValue(COH_PREPARE1, -1)
       setGlobalStorageValue(COH_PREPARE2, -1)
         db.query("INSERT INTO `castelo_guerra` (`guild`) VALUES (" .. getPlayerGuildId(cid) .. ");")

 

 

image.png.8d20318ef1322393cfb5914c7e3c613f.png

 

Ao excluir essas linha do script que foi incluso no layout.php a imagem aparece conforme acima, mas não traz resultado! Quando ela continua não aparece nada.

 

Você tem o código disponível? Se tiver publique-o aqui: 

 

<div class="sidebar">
  <?php 
$consulta = $SQL->query('SELECT `guild` FROM `castelo_guerra` ORDER BY `id` ASC;'); 
$number_of_rows = 0; 

foreach($consulta as $guildid){
    $id = $guildid['guild'];
}
$consulta2 = $SQL->query('SELECT `name`, `logo_gfx_name` FROM `guilds` WHERE id = '.$id.';'); 
?>
<style type="text/css" media="all">
   .name {
    position: relative;
    top:40px;
    text-align: center;
    font-family: Tahoma, Geneva, sans-serif;
    font-size: 9.2pt;
    color: #FFF;
    font-weight: bold;
   }
   .logo {
    position: relative;
    top: 50px;
    text-align: center;
   }
  .CastleWarbox {
    position: relative;
    margin-top: 160px;
    margin-bottom: 5px;
    width: 200px;
    height: 200px;
  }
</style>
    <div id="CastleWar" class="CastleWarbox" style="background-image:url(https://i.imgur.com/ASZv7fN.png);">
         <?php
        if ($guild) {
        ?>
            <div class="logo">
                 <img style="max-height:100px;" src="<?php logo_exists($guild['name']); ?>">
            </div>
            <div class = "name">
                <?php echo '<br><a href="guilds.php?name='.$guild['name'].'">'.$guild["name"].'</a><br>';?>
            </div>
                        
        <?php
        }else ?>
        <div class = "name">
                <?php echo '<br><br><br><p>No Have Owner</p><br>';?>
        </div>
   </div>
</div>


 

Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 

 

Atualizei para o script abaixo no layout.php, a frase ( No Have Owner ) saiu, Porém não apareceu o logo da guild.

 

 <div class="sidebar">
<?php 

$guild = $SQL->query('SELECT `guild` FROM `castelo_guerra` WHERE `id`;');
foreach($consulta as $guildid){
    $id = $guildid['guild'];
}
$consulta2 = $SQL->query('SELECT `name`, `logo_gfx_name` FROM `guilds` WHERE id = '.$id.';'); 
?>
<style type="text/css" media="all">
   .name {
    position: relative;
    top:40px;
    text-align: center;
    font-family: Tahoma, Geneva, sans-serif;
    font-size: 9.2pt;
    color: #FFF;
    font-weight: bold;
   }
   .logo {
    position: relative;
    top: 50px;
    text-align: center;
   }
  .CastleWarbox {
    position: relative;
    margin-top: 160px;
    margin-bottom: 5px;
    width: 200px;
    height: 200px;
  }
</style>
    <div id="CastleWar" class="CastleWarbox" style="background-image:url(https://i.imgur.com/ASZv7fN.png);">
         <?php
        if ($guild) {
        ?>
            <div class="logo">
                 <img style="max-height:100px;" src="<?php logo_exists($guild['name']); ?>">
            </div>
            <div class = "name">
                <?php echo '<br><a href="guilds.php?name='.$guild['name'].'">'.$guild["name"].'</a><br>';?>
            </div>
                        
        <?php
        }else ?>
        <div class = "name">
                <?php echo '<br><br><br><p>No Have Owner</p><br>';?>
        </div>
   </div>
</div>

  • Respostas 5
  • Visualizações 578
  • Created
  • Última resposta

Top Posters In This Topic

Posted Images

Postado
1 hora atrás, ferizk disse:

.Qual servidor ou website você utiliza como base? 

OTX2

 

Qual o motivo deste tópico? 

Estou colocando o widget do castlewar no meu Site. 

Porém ao colocar o script abaixo em /layout.php não estou conseguindo nenhum resultado...

Quando removi a primeira do script que executa a Query no layout.php, citada abaixo, a imagem do castlewar aparece, mas não informa a guild que dominiou.

 

No phpmyadmin executei a seguinte ação para criar a tabela:

 CREATE TABLE IF NOT EXISTS `castelo_guerra` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `guild` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=17 ;

INSERT INTO `castelo_guerra` (`id`, `guild`) VALUES
(1, 1); 

 

Na lib está incluso:

function guildVencedora()
    local name
    local consulta = db.getResult("SELECT `guild` FROM `castelo_guerra` ORDER BY `id` DESC;")
    if (consulta:getID() ~= -1) then
        name = tonumber(consulta:getDataInt('guild'))
    else
        return 0
    end
    return name
end

 

No .lua Quando o castle é dominado está incluso:

doPlayerSendTextMessage(cid, 20, "[Castle of Honor] Você e sua guild estão no comando, os antigos donos ["..tostring(getGlobalStorageValue(COH_STATUS)).."] podem se vingar!")
       setGlobalStorageValue(COH_PREPARE1, -1)
       setGlobalStorageValue(COH_PREPARE2, -1)
         db.query("INSERT INTO `castelo_guerra` (`guild`) VALUES (" .. getPlayerGuildId(cid) .. ");")

 

 

image.png.8d20318ef1322393cfb5914c7e3c613f.png

 

Ao excluir essas linha do script que foi incluso no layout.php a imagem aparece conforme acima, mas não traz resultado! Quando ela continua não aparece nada.

 

Você tem o código disponível? Se tiver publique-o aqui: 

 

<div class="sidebar">
  <?php 
$consulta = $SQL->query('SELECT `guild` FROM `castelo_guerra` ORDER BY `id` ASC;'); 
$number_of_rows = 0; 

foreach($consulta as $guildid){
    $id = $guildid['guild'];
}
$consulta2 = $SQL->query('SELECT `name`, `logo_gfx_name` FROM `guilds` WHERE id = '.$id.';'); 
?>
<style type="text/css" media="all">
   .name {
    position: relative;
    top:40px;
    text-align: center;
    font-family: Tahoma, Geneva, sans-serif;
    font-size: 9.2pt;
    color: #FFF;
    font-weight: bold;
   }
   .logo {
    position: relative;
    top: 50px;
    text-align: center;
   }
  .CastleWarbox {
    position: relative;
    margin-top: 160px;
    margin-bottom: 5px;
    width: 200px;
    height: 200px;
  }
</style>
    <div id="CastleWar" class="CastleWarbox" style="background-image:url(https://i.imgur.com/ASZv7fN.png);">
         <?php
        if ($guild) {
        ?>
            <div class="logo">
                 <img style="max-height:100px;" src="<?php logo_exists($guild['name']); ?>">
            </div>
            <div class = "name">
                <?php echo '<br><a href="guilds.php?name='.$guild['name'].'">'.$guild["name"].'</a><br>';?>
            </div>
                        
        <?php
        }else ?>
        <div class = "name">
                <?php echo '<br><br><br><p>No Have Owner</p><br>';?>
        </div>
   </div>
</div>


 

Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 

 

Atualizei para o script abaixo no layout.php, a frase ( No Have Owner ) saiu, Porém não apareceu o logo da guild.

 

 <div class="sidebar">
<?php 

$guild = $SQL->query('SELECT `guild` FROM `castelo_guerra` WHERE `id`;');
foreach($consulta as $guildid){
    $id = $guildid['guild'];
}
$consulta2 = $SQL->query('SELECT `name`, `logo_gfx_name` FROM `guilds` WHERE id = '.$id.';'); 
?>
<style type="text/css" media="all">
   .name {
    position: relative;
    top:40px;
    text-align: center;
    font-family: Tahoma, Geneva, sans-serif;
    font-size: 9.2pt;
    color: #FFF;
    font-weight: bold;
   }
   .logo {
    position: relative;
    top: 50px;
    text-align: center;
   }
  .CastleWarbox {
    position: relative;
    margin-top: 160px;
    margin-bottom: 5px;
    width: 200px;
    height: 200px;
  }
</style>
    <div id="CastleWar" class="CastleWarbox" style="background-image:url(https://i.imgur.com/ASZv7fN.png);">
         <?php
        if ($guild) {
        ?>
            <div class="logo">
                 <img style="max-height:100px;" src="<?php logo_exists($guild['name']); ?>">
            </div>
            <div class = "name">
                <?php echo '<br><a href="guilds.php?name='.$guild['name'].'">'.$guild["name"].'</a><br>';?>
            </div>
                        
        <?php
        }else ?>
        <div class = "name">
                <?php echo '<br><br><br><p>No Have Owner</p><br>';?>
        </div>
   </div>
</div>


Se já está mostrando em seu site o nome da guild vencedora, porém não mostra a imagem da mesma. Confira no log do site o erro que retorna, ele fica localizado em var/logs/apache2/error.log caso utilize nginx o diretório é o mesmo apenas muda apache2 por nginx ficando var/logs/nginx/error.log
Ao conferir o log você vai descobrir se o problema está por conta de 1 função que não está retornando o que deveria, ou 1 coluna do banco de dados que não possui um valor correto, ou algo do gênero. Qualquer novidade, poste aqui ou se eventualmente ainda tiver alguma dúvida, fique a vontade para perguntar.
Considere também entrar no Discord da Academia de Programação, lá você pode tirar suas dúvidas, ajudar outros membros, trocar conhecimento e até descolar alguns freelance. Link: https://discord.gg/sH54JnMJKt

Quem eu sou?
Meu nome é Waliston, mais conhecido como Endless, estudante de Análise e Desenvolvimento de Sistemas, e desenvolvedor da Falcon Games. Atuo no Ramo de OtServer desde 2017, porém desde 2019 venho me especializando em Desenvolvimento Web e Segurança Web..

Meus Projetos:

Falcon Games

Meu Github:

https://github.com/WalistonBelles

Meu Discord:
Endless#5410

Minhas Contribuições atualmente pra Comunidade:

[SHOWOFF] OTClient Showoff Módules
[DESIGN]
 3 FREE Game Ui Design

[TUTORIAL] Instalando MyAAC em sua máquina

[TUTORIAL] Restringindo a Listagem de Diretórios(URL) do Servidor Apache
[TUTORIAL] Proteção contra DDoS utilizando Mod-evasive no Apache

[SISTEMA] Plugin MyAAC Listagem de Items automática
[SISTEMA] Gerador de Outfits Automática para o Site

[SISTEMA] Sistema de Troca de Vocação para MyAAC
[SISTEMA] Plugin MyAAC Auction System
[SISTEMA] Sistema de Exibir Monstros por Level


Algum trabalho meu te ajudou? Quer apoiar meu trabalho? Faça uma doação!!
Picpay: @walistonbelles
Paypal: [email protected]

Postado
  • Autor
11 minutos atrás, Endless disse:


Se já está mostrando em seu site o nome da guild vencedora, porém não mostra a imagem da mesma. Confira no log do site o erro que retorna, ele fica localizado em var/logs/apache2/error.log caso utilize nginx o diretório é o mesmo apenas muda apache2 por nginx ficando var/logs/nginx/error.log
Ao conferir o log você vai descobrir se o problema está por conta de 1 função que não está retornando o que deveria, ou 1 coluna do banco de dados que não possui um valor correto, ou algo do gênero. Qualquer novidade, poste aqui ou se eventualmente ainda tiver alguma dúvida, fique a vontade para perguntar.
Considere também entrar no Discord da Academia de Programação, lá você pode tirar suas dúvidas, ajudar outros membros, trocar conhecimento e até descolar alguns freelance. Link: https://discord.gg/sH54JnMJKt

Certo, obrigado Endless.

Ao encontrar o arquivo me deparei com isso:

 

[error] 3277#3277: *368329 FastCGI sent in stderr: "PHP message: PHP Warning:  Invalid argument supplied for foreach() in /var/www/html/layouts/tibiarl/layout.php on line 624

Referente a essa codigo: foreach($consulta as $guildid){ $id = $guildid['guild'];

 

PHP message: PHP Fatal error:  Uncaught Error: Call to undefined function logo_exists() in /var/www/html/layouts/tibiarl/layout.php:657

Referente a esse codigo: <div class="logo">
                 <img style="max-height:100px;" src="<?php logo_exists($guild['name']); ?>">

 

Poderia me auxiliar como posso atuar nesses dois pontos?

 

Postado
18 minutos atrás, ferizk disse:

Certo, obrigado Endless.

Ao encontrar o arquivo me deparei com isso:

 

[error] 3277#3277: *368329 FastCGI sent in stderr: "PHP message: PHP Warning:  Invalid argument supplied for foreach() in /var/www/html/layouts/tibiarl/layout.php on line 624

Referente a essa codigo: foreach($consulta as $guildid){ $id = $guildid['guild'];

 

PHP message: PHP Fatal error:  Uncaught Error: Call to undefined function logo_exists() in /var/www/html/layouts/tibiarl/layout.php:657

Referente a esse codigo: <div class="logo">
                 <img style="max-height:100px;" src="<?php logo_exists($guild['name']); ?>">

 

Poderia me auxiliar como posso atuar nesses dois pontos?

 


 

A resposta é simples. No seu código antigo você tinha a seguinte sequência de código:

<?php 
    $consulta = $SQL->query('SELECT `guild` FROM `castelo_guerra` ORDER BY `id` ASC;'); 
    $number_of_rows = 0; 

    foreach($consulta as $guildid){
        $id = $guildid['guild'];
    }
    $consulta2 = $SQL->query('SELECT `name`, `logo_gfx_name` FROM `guilds` WHERE id = '.$id.';'); 
?>


No seu código novo você tem a seguinte sequência de código:
 

<?php 

    $guild = $SQL->query('SELECT `guild` FROM `castelo_guerra` WHERE `id`;');
    foreach($consulta as $guildid){
        $id = $guildid['guild'];
    }
    $consulta2 = $SQL->query('SELECT `name`, `logo_gfx_name` FROM `guilds` WHERE id = '.$id.';'); 
?>


Acontece que, você manteve o foreach na variável $consulta, porém ela não existe mais, quem possui agora o resultado da query é a variável $guild. O certo seria você fazer:
 

<?php 

    $guild = $SQL->query('SELECT `guild` FROM `castelo_guerra` WHERE `id`;');
    foreach($guild as $guildid){
        $id = $guildid['guild'];
    }
    $consulta2 = $SQL->query('SELECT `name`, `logo_gfx_name` FROM `guilds` WHERE id = '.$id.';'); 
?>


Porém você não está passando 1 condição certa em sua Query, você está dizendo: Selecione a coluna GUILD da tabela CASTELO_GUERRA onde id...

E pronto, você não disse qual é a condição pro ID. Como você quer saber a última guild que foi registrado como Dominante do castelo, você deve fazer 1 seleção, ordenando pelo ID em ordem Decrescente, ou seja, o 1° valor que vai retornar é o último a ser inserido, e limitar essa seleção em 1. Logo temos:
 

SELECT `guild` FROM `castelo_guerra` ORDER BY `id` DESC LIMIT 1;


Tendo essa seleção sendo realizada, armazene o valor em 1 variável, pode ser a variável que você criou $guild.
 

$guild = $SQL->query('SELECT `guild` FROM `castelo_guerra` ORDER BY `id` DESC LIMIT 1;');


Agora que temos o resultado da seleção salvo em 1 variável, vamos descobrir o nome dessa guild, visto que a tabela castelo_guerra somente armazena o ID da guild vencedora. 
 

foreach($guild as $guildid){
    $consulta2 = $SQL->query('SELECT `name`, `logo_gfx_name` FROM `guilds` WHERE id = '.$guildid['guild'].';');
}


Executamos 1 foreach (não é a melhor maneira, mas deve resolver nosso problema) passando como condição em nosso código SQL o ID da guild dominante que está armazenado na coluna guild na variável $guild, e armazenamos o resultado dessa operação na variável $consulta2.

Agora podemos fazer 1 teste e conferir se existe algum valor armazenado na variável $consulta2, se sim, então fazemos um foreach e mostramos a guild dominante no site.

 

if ($consulta2) {
    foreach($consulta2 as $guildDominante){
        echo '<a href="guilds.php?name='.$guildDominante['name'].'"><div class="logo"><img style="max-height:100px;" src="' . logo_exists(guildDominante['name'] . '"></div><br><div class = "name">'.$guildDominante["name"].'</div></a><br>';
    }
} else {
    echo '<div class = "name"><br><br><br><p>No Have Owner</p><br></div>';
}


 

PS: Eu desenvolvi esse foreach considerando que a função que você está chamando > logo_exists < funcione da forma que você já estava chamando antes.

Como resultado final temos o seguinte código para você colocar em seu layout.php:

 

<div class="sidebar">
<?php 
    $guild = $SQL->query('SELECT `guild` FROM `castelo_guerra` WHERE `id`;');
    foreach($guild as $guildid){
        $consulta2 = $SQL->query('SELECT `name`, `logo_gfx_name` FROM `guilds` WHERE id = '.$guildid['guild'].';');
    }

?>
<style type="text/css" media="all">
   .name {
    position: relative;
    top:40px;
    text-align: center;
    font-family: Tahoma, Geneva, sans-serif;
    font-size: 9.2pt;
    color: #FFF;
    font-weight: bold;
   }
   .logo {
    position: relative;
    top: 50px;
    text-align: center;
   }
  .CastleWarbox {
    position: relative;
    margin-top: 160px;
    margin-bottom: 5px;
    width: 200px;
    height: 200px;
  }
</style>
<div id="CastleWar" class="CastleWarbox" style="background-image:url(https://i.imgur.com/ASZv7fN.png);">
    if ($consulta2) {
        foreach($consulta2 as $guildDominante){
            echo '<a href="guilds.php?name='.$guildDominante['name'].'"><div class="logo"><img style="max-height:100px;" src="' . logo_exists(guildDominante['name'] . '"></div><br><div class = "name">'.$guildDominante["name"].'</div></a><br>';
        }
    } else {
        echo '<div class = "name"><br><br><br><p>No Have Owner</p><br></div>';
    }
   </div>
</div>


Testa e ve se vai funcionar. Espero que sim e que resolva seu problema.

Quem eu sou?
Meu nome é Waliston, mais conhecido como Endless, estudante de Análise e Desenvolvimento de Sistemas, e desenvolvedor da Falcon Games. Atuo no Ramo de OtServer desde 2017, porém desde 2019 venho me especializando em Desenvolvimento Web e Segurança Web..

Meus Projetos:

Falcon Games

Meu Github:

https://github.com/WalistonBelles

Meu Discord:
Endless#5410

Minhas Contribuições atualmente pra Comunidade:

[SHOWOFF] OTClient Showoff Módules
[DESIGN]
 3 FREE Game Ui Design

[TUTORIAL] Instalando MyAAC em sua máquina

[TUTORIAL] Restringindo a Listagem de Diretórios(URL) do Servidor Apache
[TUTORIAL] Proteção contra DDoS utilizando Mod-evasive no Apache

[SISTEMA] Plugin MyAAC Listagem de Items automática
[SISTEMA] Gerador de Outfits Automática para o Site

[SISTEMA] Sistema de Troca de Vocação para MyAAC
[SISTEMA] Plugin MyAAC Auction System
[SISTEMA] Sistema de Exibir Monstros por Level


Algum trabalho meu te ajudou? Quer apoiar meu trabalho? Faça uma doação!!
Picpay: @walistonbelles
Paypal: [email protected]

Postado
  • Autor
27 minutos atrás, Endless disse:


 

A resposta é simples. No seu código antigo você tinha a seguinte sequência de código:


<?php 
    $consulta = $SQL->query('SELECT `guild` FROM `castelo_guerra` ORDER BY `id` ASC;'); 
    $number_of_rows = 0; 

    foreach($consulta as $guildid){
        $id = $guildid['guild'];
    }
    $consulta2 = $SQL->query('SELECT `name`, `logo_gfx_name` FROM `guilds` WHERE id = '.$id.';'); 
?>


No seu código novo você tem a seguinte sequência de código:
 


<?php 

    $guild = $SQL->query('SELECT `guild` FROM `castelo_guerra` WHERE `id`;');
    foreach($consulta as $guildid){
        $id = $guildid['guild'];
    }
    $consulta2 = $SQL->query('SELECT `name`, `logo_gfx_name` FROM `guilds` WHERE id = '.$id.';'); 
?>


Acontece que, você manteve o foreach na variável $consulta, porém ela não existe mais, quem possui agora o resultado da query é a variável $guild. O certo seria você fazer:
 


<?php 

    $guild = $SQL->query('SELECT `guild` FROM `castelo_guerra` WHERE `id`;');
    foreach($guild as $guildid){
        $id = $guildid['guild'];
    }
    $consulta2 = $SQL->query('SELECT `name`, `logo_gfx_name` FROM `guilds` WHERE id = '.$id.';'); 
?>


Porém você não está passando 1 condição certa em sua Query, você está dizendo: Selecione a coluna GUILD da tabela CASTELO_GUERRA onde id...

E pronto, você não disse qual é a condição pro ID. Como você quer saber a última guild que foi registrado como Dominante do castelo, você deve fazer 1 seleção, ordenando pelo ID em ordem Decrescente, ou seja, o 1° valor que vai retornar é o último a ser inserido, e limitar essa seleção em 1. Logo temos:
 


SELECT `guild` FROM `castelo_guerra` ORDER BY `id` DESC LIMIT 1;


Tendo essa seleção sendo realizada, armazene o valor em 1 variável, pode ser a variável que você criou $guild.
 


$guild = $SQL->query('SELECT `guild` FROM `castelo_guerra` ORDER BY `id` DESC LIMIT 1;');


Agora que temos o resultado da seleção salvo em 1 variável, vamos descobrir o nome dessa guild, visto que a tabela castelo_guerra somente armazena o ID da guild vencedora. 
 


foreach($guild as $guildid){
    $consulta2 = $SQL->query('SELECT `name`, `logo_gfx_name` FROM `guilds` WHERE id = '.$guildid['guild'].';');
}


Executamos 1 foreach (não é a melhor maneira, mas deve resolver nosso problema) passando como condição em nosso código SQL o ID da guild dominante que está armazenado na coluna guild na variável $guild, e armazenamos o resultado dessa operação na variável $consulta2.

Agora podemos fazer 1 teste e conferir se existe algum valor armazenado na variável $consulta2, se sim, então fazemos um foreach e mostramos a guild dominante no site.

 


if ($consulta2) {
    foreach($consulta2 as $guildDominante){
        echo '<a href="guilds.php?name='.$guildDominante['name'].'"><div class="logo"><img style="max-height:100px;" src="' . logo_exists(guildDominante['name'] . '"></div><br><div class = "name">'.$guildDominante["name"].'</div></a><br>';
    }
} else {
    echo '<div class = "name"><br><br><br><p>No Have Owner</p><br></div>';
}


 

PS: Eu desenvolvi esse foreach considerando que a função que você está chamando > logo_exists < funcione da forma que você já estava chamando antes.

Como resultado final temos o seguinte código para você colocar em seu layout.php:

 


<div class="sidebar">
<?php 
    $guild = $SQL->query('SELECT `guild` FROM `castelo_guerra` WHERE `id`;');
    foreach($guild as $guildid){
        $consulta2 = $SQL->query('SELECT `name`, `logo_gfx_name` FROM `guilds` WHERE id = '.$guildid['guild'].';');
    }

?>
<style type="text/css" media="all">
   .name {
    position: relative;
    top:40px;
    text-align: center;
    font-family: Tahoma, Geneva, sans-serif;
    font-size: 9.2pt;
    color: #FFF;
    font-weight: bold;
   }
   .logo {
    position: relative;
    top: 50px;
    text-align: center;
   }
  .CastleWarbox {
    position: relative;
    margin-top: 160px;
    margin-bottom: 5px;
    width: 200px;
    height: 200px;
  }
</style>
<div id="CastleWar" class="CastleWarbox" style="background-image:url(https://i.imgur.com/ASZv7fN.png);">
    if ($consulta2) {
        foreach($consulta2 as $guildDominante){
            echo '<a href="guilds.php?name='.$guildDominante['name'].'"><div class="logo"><img style="max-height:100px;" src="' . logo_exists(guildDominante['name'] . '"></div><br><div class = "name">'.$guildDominante["name"].'</div></a><br>';
        }
    } else {
        echo '<div class = "name"><br><br><br><p>No Have Owner</p><br></div>';
    }
   </div>
</div>


Testa e ve se vai funcionar. Espero que sim e que resolva seu problema.

Compreendi o que você me ensinou hoje! Agradeço muito.

 

O resultado foi esse abaixo, pelo menos apareceu alguma coisa rs

 

image.png.f175b4f8c5b08d3de0a15a29fa4bf603.png

 

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo