Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa noite,
Tem como fazer uma cópia de uma array?
por que estou precisando percorrer o result de uma busca no banco, capturar só os nomes e depois percorrer ele.
O problema é que ao percorrer o result, a posição 0 não funciona, por que foi utilizada no array_unique se retirar o unique funciona
$q = DBquery(" SELECT nomepessoas, datapresenca, obs, presenca, idfrequencia FROM frequencia INNER JOIN pessoas ON "
. "frequencia.idpessoa = pessoas.idpessoas AND idpessoa = ".$idPessoa
. " AND frequencia.idturma = ".$idTurma['idturma']);
//montando a porcentagem
$namess = array_unique(mysqli_fetch_assoc($q));
//var_dump($namess);
//echo count($namess);
//echo mysqli_num_rows($q);
//if($namess['obs'] != "vazio"){
//$this->_obs .= "<h3 style='color:blue;' >".$namess['nomepessoas']."</h3>";
//}
for($x=0 ; $x < 1 ; $x++){
$this->_resultDados .= "<tr><td>".$namess['nomepessoas']."</td>";
//foreach($q as $key => $v){
//for($n=0 ; $n <= mysqli_num_rows($q) ; $n++){
//$v = mysqli_fetch_assoc($q);
//print_r($v);
//echo mysqli_num_rows($q);
while($v = mysqli_fetch_assoc($q)){
if($v['presenca'] ==1){
$contPercent++;
}
$percent = number_format(($contPercent *100)/mysqli_num_rows($q));
$dts = explode('-',$v['datapresenca']);
$dts = $dts[2]."/".$dts[1];
$this->_resultTitle .= "<th id='barra'>".$dts."</th>";
if($v['presenca'] == '0'){
$status = "<img src='img/aus.png'>";
if($v['obs'] != "vazio"){
$this->_obs .= "<h3 style='color:blue;' >".$namess['nomepessoas']."</h3>";
$this->_obs .= "<b>Data: </b> ".$dts."<b> Observação: </b>".$v['obs']."<br><hr>";
//$status = "<img src='img/aus.png'>";
}
}elseif($v['presenca'] == '1'){
$status ="<img src='img/pre.png'>";
if($v['obs']!="vazio"){
$this->_obs .= "<h3 style='color:blue;' >".$namess['nomepessoas']."</h3>";
$this->_obs .= "<b>Data: </b> ".$dts."<b> Observação: </b>".$v['obs']."<br><hr>";
}
}
$this->_resultDados .="<td align='center'>".$status."</td>";Rapaz, assim não vai.
Entenda, eu fiz a consulta no banco, retornou um objetc, quando eu vou usar o while($row = $result->fetch_assoc()){MOSTRAR DADOS}, a primeira posição contendo o primeiro arrays não mostra, pq eu já tinha usado uma mysqli_fetch_assoc para montar um array sem informações iguais usando array_unique que captura justamente o primeiro retorno.
Eu conseguir montar o que precisava, usando duas query iguais, não queria fazer isto por causa do servidor mas preciso entregar esse negócio segunda.
Se alguém conhecer um jeito que eu faça uma cópia do retorno do select na query sem que ande uma posição, manda ai.
VLW !!!
O problema do seu sistema pelo que estou vendo é a precariedade da arquitetura do mesmo, enfim... existe data_seek para isto, você move o ponteiro da consulta para onde quiser e boa.
Cara, obrigado,
Parece que funcionará.
Amanhã testarei e se der certo marco como vc resolveu,
quanto ao sistema, tenho 3 meses estudando e escrevendo um sistema, na faculdade ainda não cheguei em códigos que me subsidiasse escrever algo, então fui pelos canais da vida e tocando, está funcionando e realizando que foi solicitado.
Vivendo e aprendendo.
Vlw irmão!
>
O problema do seu sistema pelo que estou vendo é a precariedade da arquitetura do mesmo, enfim... existe data_seek para isto, você move o ponteiro da consulta para onde quiser e boa.
http://php.net/manual/pt_BR/mysqli-result.data-seek.php
Vlw amigo, resolvido este problema!
Como em qualquer variável...