last day (50 days later) » 

10:54 PM
0
A: Problema com loop while no PDO

Rafael WithoeftVocê esqueceu de adicionar os dois pontos no array de parâmetros, no caso o parâmetro activo (:activo) e para retornar mais que um dado, utilize o fetchAll. Segue o código final: try { $result = $conexao->prepare("SELECT * FROM colecoes WHERE menu = :menu AND activo = :activo ORDER BY p...

 
Mesmo assim nao retorna todos na pagina
Se eu der um var_dum ele retorna todos mas em normal nao retorna todos e nao aparecem as imagens
 
@CésarSousa Tente a sintaxe que abordei agora na resposta.
 
Assim nao retorna nenhum valor
 
Tentou executar essa SQL diretamente no banco e ver o que retorna?
 
sim retorna todos os valores
 
10:54 PM
@CésarSousa Adicionei um novo código com try catch, execute e veja se não está acontecendo algum erro
 
Não retorna nenhum erro
 
@rray Vou alterar, Obrigado. Cesar teste como o rray sugeriu.
 
Alterei e dessa forma no var_dum já retorna todos mas as imagens não aparecem ainda não percebi bem como funciona esse while em PDO
 
@CésarSousa bem então a formação da sua url está errada... poderia detalhar mais, o que retorna do banco, somente o nome da imagem? e você concatena com o restante da localização?
 
Eu coloquei o emu while acima pode ver como estou fazendo
 
10:54 PM
@CésarSousa, essa pasta de imagens fica na raiz? tente colocar / na frente do link src="/gtm...."
 
Eu dei um var_dum na variavel que lista as imagens deu isto bool(false)
 
@CésarSousa tente trocar $result_anex->bindValue(':row_id', $row->id, PDO::PARAM_INT); por bindParam ($result_anex->bindParam(':row_id', $row->id, PDO::PARAM_INT);)
 
Igual já tinha verificado isso
 
@CésarSousa $result_count = $conexao->prepare("SELECT COUNT(*) AS id FROM categorias_estabelecimentos WHERE categoria_slug = :categoria_slug ") or die(mysql_error()); melhor tirar esse or die mysql_error
vamos lá então
 
nao percebo porque nao da
 
10:58 PM
como está seu código agora poderia colar?
 
o pdo afinal ate nao e muito dificll ate estou a entrar bem nisto e e mais limpo a nivel de codigo
<?php

$result = $conexao->prepare("SELECT * FROM colecoes WHERE menu = :menu AND activo = :activo ORDER BY pos ASC");
$result->bindValue(':menu', 'Comer', PDO::PARAM_STR);
$result->bindValue(':activo', 1, PDO::PARAM_INT);
$result->execute();
while($row = $result->fetchAll(PDO::FETCH_OBJ)) {

$result_anex = $conexao->prepare("SELECT * FROM colecoes_anexos WHERE id_mae = :row_id AND seccao = :seccao");
$result_anex->bindValue(':row_id', $row->id, PDO::PARAM_INT);
$result_anex->bindValue(':seccao', 'thumbnail', PDO::PARAM_STR);
 
qual a versão do php que estás usando?
 
ótimo
vou minificar a sintaxe do echo
importante o servidor também estar com a mesma versão
ok?
 
e esta eu agora so quero o mais recente para nao teres problemas no futuro e melhor as coisas mesmo a nivel de segunranca
 
11:03 PM
essa pasta gtm
fica na raiz do servidor
?
 
<?php

use yii\helpers\Html;
use yii\widgets\DetailView;

/* @var $this yii\web\View */
/* @var $model common\modules\anuncio\models\StatusAnuncio */

$this->title = $model->id;
$this->params['breadcrumbs'][] = ['label' => Yii::t('app', 'Status Anúncios'), 'url' => ['index']];
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="status-anuncio-view">

<p>
<?= Html::a(Yii::t('app', 'Atualizar'), ['update', 'id' => $model->id], ['class' => 'btn btn-primary']) ?>
<?= Html::a(Yii::t('app', 'Remover'), ['delete', 'id' => $model->id], [
Opa
desculpa colei coisa a mais
Agora vai o certo
<?php

$result = $conexao->prepare("SELECT * FROM colecoes WHERE menu = :menu AND activo = :activo ORDER BY pos ASC");
$result->bindValue(':menu', 'Comer', PDO::PARAM_STR);
$result->bindValue(':activo', 1, PDO::PARAM_INT);
$result->execute();
while($row = $result->fetchAll(PDO::FETCH_OBJ)) {

$result_anex = $conexao->prepare("SELECT * FROM colecoes_anexos WHERE id_mae = :row_id AND seccao = :seccao");
$result_anex->bindParam(':row_id', $row->id, PDO::PARAM_INT);
$result_anex->bindValue(':seccao', 'thumbnail', PDO::PARAM_STR);
 
da bool(false)
nao percebo
mas eu fiz um var_dump ao $row->id e retorna NULL
 
colecoes
tem um indice chamado id?
 
11:11 PM
e o var_dump($row), te mostra o que?
 
lista todos
 
TODOS?
 
lista os índices certinho?
inclusive o id?
 
sim todo certinho
 
11:13 PM
cola ai o var_dump pra gente ver
só um pelo menos
não precisa ser todos
dos resultados
 
array(14) { [0]=> object(stdClass)#2 (8) { ["id"]=> string(2) "24" ["id_mae"]=> string(1) "0" ["titulo"]=> string(11) "TRADICIONAL" ["url"]=> string(0) "" ["menu"]=> string(5) "Comer" ["slug"]=> string(11) "tradicional" ["activo"]=> string(1) "1" ["pos"]=> string(1) "1" } [1]=> object(stdClass)#8 (8) { ["id"]=> string(2) "11" ["id_mae"]=> string(1) "0" ["titulo"]=> string(7) "GOURMET" ["url"]=> string(0) "" ["menu"]=> string(5) "Comer" ["slug"]=> string(7)
 
teta trocar o while
por
tenta*
foreach ($result->fetchAll(PDO::FETCH_OBJ) as $row) {
por isso ai
 
nao resolveu
 
e o que vem no var_dump($row) agora?
 
isto
object(stdClass)#2 (8) { ["id"]=> string(2) "24" ["id_mae"]=> string(1) "0" ["titulo"]=> string(11) "TRADICIONAL" ["url"]=> string(0) "" ["menu"]=> string(5) "Comer" ["slug"]=> string(11) "tradicional" ["activo"]=> string(1) "1" ["pos"]=> string(1) "1" } object(stdClass)#22 (8) { ["id"]=> string(3) "191" ["id_mae"]=> string(2) "24" ["destaque"]=> string(1) "1" ["id_anexo"]=> string(48) "cmvzdgf1cmfudgugdhjhzgljaw9uywwuanbnltywnja1ma==" ["titulo"]=> string(27)
 
11:18 PM
Tenta assim
$rows = $result->fetchAll(PDO::FETCH_ASSOC);
foreach ($rows as $row) {
tirei de objeto e coloquei ASSOC
vamos ver o que vem no var_dump() do $row agora
provavelmente vai dar pau no resto... kkk
 
so isto
array(8) { ["id"]=> string(2) "24" ["id_mae"]=> string(1) "0" ["titulo"]=> string(11) "TRADICIONAL" ["url"]=> string(0) "" ["menu"]=> string(5) "Comer" ["slug"]=> string(11) "tradicional" ["activo"]=> string(1) "1" ["pos"]=> string(1) "1" } bool(false)
 
<?php

$result = $conexao->prepare("SELECT * FROM colecoes WHERE menu = :menu AND activo = :activo ORDER BY pos ASC");
$result->bindValue(':menu', 'Comer', PDO::PARAM_STR);
$result->bindValue(':activo', 1, PDO::PARAM_INT);
$result->execute();
$rows = $result->fetchAll(PDO::FETCH_ASSOC);
foreach ($rows as $row) {

$result_anex = $conexao->prepare("SELECT * FROM colecoes_anexos WHERE id_mae = :row_id AND seccao = :seccao");
$result_anex->bindParam(':row_id', $row['id'], PDO::PARAM_INT);
$result_anex->bindValue(':seccao', 'thumbnail', PDO::PARAM_STR);
Tenta assim
 
resolveu
 
ótimo
:)
 
mas porque o while em forma de objecto nao funciona ?
sabes ?
 
11:28 PM
5
A: php PDO fetchAll() - while not working, foreach works

Tyler V.From the PHP Manual: The meaning of a while statement is simple. It tells PHP to execute the nested statement(s) repeatedly, as long as the while expression evaluates to TRUE. Since the method you're using returns an array, while ($row=$page->fetchAll(PDO::FETCH_ASSOC)) is going to set $ro...

Aqui fala um pouco sobre isso
 
mas digo-te PDO eu gosto muito mais
deixa o codigo muito mais limpo
 
sim... sintaxe é muito mais legível
 
já para nao falar que na minha opiniao e mais simples de perceber estudei um pouco e já estou dentro agora esses erros e que agora no incio e complicado
mas vou passar a usar o forech
 
15
Q: Is there a performance difference between PDO fetch statements?

user397916like in /* Exercise PDOStatement::fetch styles */ print("PDO::FETCH_ASSOC: "); print("Return next row as an array indexed by column name\n"); $result = $sth->fetch(PDO::FETCH_ASSOC); print_r($result); print("\n"); print("PDO::FETCH_BOTH: "); print("Return next row as an array indexed by both co...

Aqui fala um pouco sobre a diferença e tempo de carregamento de cada tipo de retorno disponível no PDO
 
eu desde que comecei a mudar acho que a perfomace e melhor mas posso estar errado
 
11:33 PM
mysql, mysqli são um POUCO, mais rápidas que PDO... mas normalmente você nem percebe a diferença
 
e o mais porreiro e que eu agora nem preciso do utf8_encode
alias se o usar ele detecta como erro no caracter
 
e falta bastante para migrar do mysql?
 
sim
e verdade conseguiste reunir as informações pela minha colega
 
Alguma coisa ela falou...
a gente está pensando em pegar ano que vem visto de turismo pra suiça e ficar lá no nosso conhecido 1 mês para fazermos um curso de idioma
 
ah ok
mas depois fala comigo
 
11:48 PM
Ela disse para nós procurarmos o consulado
porém o consulado é muito longe
e a gente está em uma fase critica do projeto não posso faltar da empresa
 
que eu arranjop-te trabalho ca
 
Sem problemas, aproveito a estadia na suiça para conhecer Portugal
:)
 
bem uma parte aqui do codigo já esta
 
Alias, qual a média salarial de um programador em Portugal? Nível Júnior...
Se você puder passar essa informação... é interessante para fazer calculo de gastos
 
depende da empresa
eu traballhei numa empresa como programador web e recebia 600 euros
agora posso te fazer uma sondagem por ai em diversas empresas
e dizer-t
 
11:56 PM
E para viver... é tranquilo com 600 euros?
 
o pa e depende dos gastos que tiveres
 
uhm.. entendo
 
eu como era sozinho para mim sim era tranquilo
 
ok.. obrigado :)
 

  last day (50 days later) »