Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Gustavuh

Carregar dados do Banco numa table

Recommended Posts

Saudações.

 

Quero carregar dados de uma tabela numa table mas o problema não é nem esse mas sim na lógica do código, no qual não estou conseguindo.

 

 

<?php
require '../Connections/conexao.php';
require '../Connections/database.php';
?>

 

<table class="table table-hover">
<tr>
<th>ID</th>
<th>Login</th>
<th>Nome</th>
<th>Permissão</th>
<th>E-mail</th>
</tr>
<?php
$consulta = DBRead('adminis', "LIMIT 5", 'administradorID, login, nome, permissao, email');
?>
<tr>
<td><?php echo $consulta ["administradorID"];?></td>
<td><?php echo $consulta ["login"];?></td>
<td><?php echo $consulta ["nome"]; ?></td>
<td><span class="label label-success"><?php echo $consulta ["permissao"]; ?></span></td>
<td><?php echo $consulta ["email"]; ?></td>
</tr>
</table>
<?php
// Deleta Registros
function DBDelete($table, $where = null){
$table = DB_PREFIX.'_'.$table;
$where = ($where) ? " WHERE {$where}" : null;
$query = "DELETE FROM {$table}{$where}";
return DBExecute($query);
}
// Altera Registros
function DBUpDate($table, array $data, $where = null, $insertId = false){
foreach ($data as $key => $value){
$fields[] = "{$key} = '{$value}'";
}
$fields = implode(', ', $fields);
$table = DB_PREFIX.'_'.$table;
$where = ($where) ? " WHERE {$where}" : null;
$query = "UPDATE {$table} SET {$fields}{$where}";
return DBExecute($query, $insertId);
}
// Ler Registros
function DBRead($table, $params = null, $fields = '*'){
//$table = DB_PREFIX.'_'.$table;
$params = ($params) ? " {$params}" : null;
$query = "SELECT {$fields} FROM {$table}{$params}";
$result = DBExecute($query);
if(!mysqli_num_rows($result))
return false;
else {
while ($res = mysqli_fetch_assoc($result)){
$data[] = $res;
}
return $data;
}
}
// Grava Registros
function DBCreate($table, array $data, $insertId = false){
//$table = DB_PREFIX.'_'.$table;
$data = DBEscape($data);
$campos = implode(', ', array_keys($data));
$values = "'".implode("', '", $data)."'";
$query = "INSERT INTO {$table} ( {$campos} ) VALUES ( {$values} )";
return DBExecute($query, $insertId);
}
// Executa Querys
function DBExecute($query, $insertId = false){
$link = DBConnect();
$result = @mysqli_query($link, $query) or die(mysqli_error($link));
if($insertId)
$result = mysqli_insert_id($link);
DBClose($link);
return $result;
}
// Protege contra SQL Injection
function DBEscape($data){
$link = DBConnect();
if(!is_array($data))
$data = mysqli_real_escape_string($link, $data);
else {
$arr = $data;
foreach ($arr as $key => $value){
$key = DBEscape( $key );
$value = DBEscape( $value );
$data[$key] = $value;
}
}
DBClose($link);
return $data;
}
// Fecha Conexão com MySQL
function DBClose($link){
@mysqli_close($link) or die(mysqli_error($link));
}
// Abre com Conexão com MySQL
function DBConnect(){
$link = @mysqli_connect(DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE) or die(mysqli_connect_error());
mysqli_set_charset($link, DB_CHARSET) or die(mysqli_error($link));
return $link;
}

 

<?php
define( 'DB_HOSTNAME', 'localhost' );
define( 'DB_USERNAME', 'root' );
define( 'DB_PASSWORD', null );
define( 'DB_DATABASE', 'bdteste' );
define( 'DB_CHARSET', 'utf8' );
?>

 

 

 

 

 

 

 

Alguem pode ajudar ae?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu fiz assim e não deu certo

 

<table class="table table-hover">
<tr>
<th>ID</th>
<th>Login</th>
<th>Nome</th>
<th>Permissão</th>
<th>E-mail</th>
</tr>
<?php
$consulta = DBRead('adminis', "LIMIT 5", 'administradorID, login, nome, permissao, email');
while(mysqli_fetch_array($consulta)){?>
<tr>
<td><?php echo $consulta["administradorID"];?></td>
<td><?php echo $consulta["login"];?></td>
<td><?php echo $consulta["nome"]; ?></td>
<td><span class="label label-success"><?php echo $consulta["permissao"]; ?></span></td>
<td><?php echo $consulta["email"]; ?></td>
</tr>
<?php } ?>
</table>
Da o seguinte erro:
mysqli_fetch_array() expects parameter 1 to be mysqli_result, array given in C:\wamp\www\Site\Administracao\Usuario.php on line
Eu usei tanto mysqli_fetch_array quanto mysqli_fetch_assoc

Compartilhar este post


Link para o post
Compartilhar em outros sites

Um exemplo:

echo "
<tr>
<td>consultadoid</td>
<td>consultadalogin</td>
<td>consultadanome</td>
<td>etc...</td>";

Só 1 echo, cada conta gera uma linha somente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpa a ignorância mas comecei em php tem poucos dias.

 

Fiz assim:

 

<table class="table table-hover">
<tr>
<th>ID</th>
<th>Login</th>
<th>Nome</th>
<th>Permissão</th>
<th>E-mail</th>
</tr>
<?php
$consulta = DBRead('adminis', "LIMIT 5", 'administradorID, login, nome, permissao, email');
while(mysqli_fetch_array($consulta)){
echo "<tr>
<td>$consulta(\"administradorID\")</td>
</tr>";
}?>
</table>
Deu seguinte erro:
mysqli_fetch_array() expects parameter 1 to be mysqli_result, array given in C:\wamp\www\Site\Administracao\Usuario.php on line

Compartilhar este post


Link para o post
Compartilhar em outros sites
 
$consulta = DBRead('adminis', "LIMIT 5", 'administradorID, login, nome, permissao, email');

Nessa linha está escrito adminis você tem certeza que o nome da tabela é assim ? não seria admins ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui resolver assim

 

<table class="table table-hover">
<tr>
<th>ID</th>
<th>Login</th>
<th>Nome</th>
<th>Permissão</th>
<th>E-mail</th>
</tr>
<?php
$consulta = DBRead('adminis', "LIMIT 5", 'administradorID, login, nome, permissao, email');
foreach($consulta as $data) :
?>
<tr>
<td><?php echo $data["administradorID"];?></td>
<td><?php echo $data["login"];?></td>
<td><?php echo $data["nome"]; ?></td>
<td><span class="label label-success"><?php echo $data["permissao"]; ?></span></td>
<td><?php echo $data["email"]; ?></td>
</tr>
<?php endforeach?>
</table>
Obrigado pela ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.