kbalera Postado Fevereiro 16, 2004 Denunciar Share Postado Fevereiro 16, 2004 que cada foto é cadastrado no bdai eu fiz um sistema de slide showso que tem vez q eu tenho q apagar alguma fotoai no slide aparece a fotoporque as fotos são sequenciaistipo 0001, 0002, 0003 e etce tipo ai se eu apagar a foto0003quando tiver na foto 0002 aproxima vai ser 0004ai eu fiz esse script aki--------------------------------------------> while(1) { $select_ft= "select*from foto where festa = $festa and foto = $foto"; $acao_ft = mysql_db_query("$database","$select_ft",$conect); $num_ft = mysql_num_rows($acao_ft); if($num_ft==0){ $x=0; $foto = $foto+1; continue; }else{ $x=1; break; } }<-------------------------------------------------que seleciona no BD a foto e se o $num_ft==0 for igual a 0 ele repete o selectso q dando um incremento na $fotoe se for igual a 1 ele paraso que esse loop tava ocupando 28% do processamento do servidor e se mts pessoas vice as fotosele derrubava o servidorintao eu to kerendo saber uma forma melhor de fazer isso pois eu to kerendo fazer que tipose não tiver registrado no banco de dados ou não tiver a foto no servidora $foto recebe um incrementointao tipo se eu to na foto 0003 e a proxima foto for 0010ai ela pula da 0003 pra a 0010ai galera quem puder me ajudar Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Felipe_Lopes Postado Fevereiro 16, 2004 Denunciar Share Postado Fevereiro 16, 2004 você puxa a foto do BD ou guarda apenas o path da foto no BD? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Eddie_666 Postado Fevereiro 17, 2004 Denunciar Share Postado Fevereiro 17, 2004 cara, uma ideia, seria tu fazer a consulta apenas uma vez no banco: $select_ft= "SELECT * FROM foto WHERE festa = $festa";e depois testar dentro dos registros se a foto existe ou não, não ia melhorar muito, mas pelo menos não ia forçar tanto o banco de dados. Vou ver se penso numa alternativa melhor Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kbalera Postado Fevereiro 17, 2004 Autor Denunciar Share Postado Fevereiro 17, 2004 você puxa a foto do BD ou guarda apenas o path da foto no BD? Ow eu so gravo a festa q foto é e a fototipoID | FESTA | FOTO |1 | 00001 | 0001 |2 | 00001 | 0002 |3 | 00001 | 0003 |4 | 00001 | 0004 |5 | 00001 | 0005 |6 | 00002 | 0001 |7 | 00002 | 0002 |8 | 00002 | 0003 |intao nessa tabela ai eu tenho 2 festas e algumas fotosintao quando o cara escolha a festa eu mando o codigo da festaai vai mostrar as fotosai eu faço um select*from foto where festa="00001";ID | FESTA | FOTO |1 | 00001 | 0001 |2 | 00001 | 0002 |3 | 00001 | 0003 |4 | 00001 | 0004 |5 | 00001 | 0005 |ai selecionou as fotoseu vou ter links para cada fototipoFOTO1 FOTO2 FOTO3 FOTO4 FOTO5ai quando clica você vai ver somente a foto clicadaai belezaso que eu fiz uma vizualização em slides para passar automaticoai se eu apagar alguma foto no BDID | FESTA | FOTO |1 | 00001 | 0001 |3 | 00001 | 0003 |4 | 00001 | 0004 |5 | 00001 | 0005 |na hora q fizer aquele select la em cima funciona, mas na hora q vou fazer o slide não funciona não porque eu fiz o seguintedepois que eu clico para passar em slide eu faco um select assimselect*from foto where festa="00001" and foto="$foto"essa variavel foto ela é um incremente tipo a atual é igual a $foto=0001intao a proximaeh 0002intao se ele fez um select com a 0001 ele vai fazer um select com a 0002so q se eu apaguei a 0002 no bd vai aparecer aimagem do mesmo jeitointao eu fiz um laco de condicoeseu faço o selectselect*from foto where festa="00001" and foto="$foto"ai depois faço um mysql_num_rows para vers qnts registro pegouse for igual a zero eu faco a variavel foto ser a proximaso q eu tenho q fazer isso dentro de um laco tipoenquanto a variavel q tenho mysql_num_rows for igual a zero vai incrementando ai se não for ai ele para e exibe a fotoai eu fiz o eskema a baixowhile(1) {$select_ft= "select*from foto where festa ="00001" and foto = $foto";$acao_ft = mysql_db_query("$database","$select_ft",$conect);$num_ft = mysql_num_rows($acao_ft);if($num_ft==0){$x=0;$foto = $foto+1;continue;}else{$x=1;break;}}funcionou so que ai eu fui ver o servidor da ficando carregado d+ por isso e tem hora q ate cai dependendo do nº de acessos, ai eu fui ver o laco não ta parando tipo eu fui ver la tinha uma linha executada a seguinteselect*from foto where festa="00001" and foto="401548726";intao quer dizer que o laco não paro ai eu tava precisando o seguintealguma coisa tipo que fazia um select no bd apenas das existente ow uma condicoes para o while para que eu poca fazer isso sem carregarqualquer duvida eu tento explicar mais detalhadamente.abracos Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ppgsalomao Postado Fevereiro 17, 2004 Denunciar Share Postado Fevereiro 17, 2004 Aí cara,Ao invés de usar um If com laço,Você usa um For ou um Wile que testa uma condição para cada "Loop" que ele dá ! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
kbalera
que cada foto é cadastrado no bd
ai eu fiz um sistema de slide show
so que tem vez q eu tenho q apagar alguma foto
ai no slide aparece a foto
porque as fotos são sequenciais
tipo
0001, 0002, 0003 e etc
e tipo ai se eu apagar a foto
0003
quando tiver na foto 0002 aproxima vai ser 0004
ai eu fiz esse script aki
-------------------------------------------->
while(1) {
$select_ft= "select*from foto where festa = $festa and foto = $foto";
$acao_ft = mysql_db_query("$database","$select_ft",$conect);
$num_ft = mysql_num_rows($acao_ft);
if($num_ft==0){
$x=0;
$foto = $foto+1;
continue;
}else{
$x=1;
break;
}
}
<-------------------------------------------------
que seleciona no BD a foto e se o $num_ft==0 for igual a 0 ele repete o select
so q dando um incremento na $foto
e se for igual a 1 ele para
so que esse loop tava ocupando 28% do processamento do servidor e se mts pessoas vice as fotos
ele derrubava o servidor
intao eu to kerendo saber uma forma melhor de fazer isso
pois eu to kerendo fazer que tipo
se não tiver registrado no banco de dados ou não tiver a foto no servidor
a $foto recebe um incremento
intao tipo se eu to na foto 0003 e a proxima foto for 0010
ai ela pula da 0003 pra a 0010
ai galera quem puder me ajudar
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.