I can not bring database data from more than one table

1

I'm learning how to do an admin, and so I created some tables in the database, but I do not know why I can only insert and delete user table and non-project table data. It must be some silly mistake, below I'll show you how I created my codes.

Table that is right with the php that brings the data

CREATE TABLE 'usuarios' (
'id' INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
'nome' VARCHAR( 50 ) NOT NULL ,
'email' VARCHAR( 50 ) NOT NULL ,
'foto' VARCHAR( 100 ) NOT NULL
) ENGINE = MYISAM ;

HTML

       <?php
        // Seleciona todos os usuários
        $sql = mysql_query("SELECT * FROM usuarios ORDER BY nome");

        // Exibe as informações de cada usuário
        while ($usuario = mysql_fetch_object($sql)) {
            // Exibimos o nome e email
            echo "<p><b>Nome:</b> " . $usuario->nome ." </p>";
            echo "<p><b>Email:</b> " . $usuario->email . "</p>";
            // Exibimos a foto
            echo "<figure><img src='fotos/".$usuario->foto."' alt='Foto de exibição' /></figure>";
            echo "<iframe width='400' height='200' src='". $usuario->video ."' frameborder='0' allowfullscreen></iframe>";
            echo "<form action='deleta.php' method='post'>
                    <input type='hidden' name='id' value='". $usuario->id ."'>
                    <input type='submit' name='deletar' value='deletar' />
                </form>";
        }


        ?>  

Table that is wrong with the php that brings the data

    CREATE TABLE 'tb_projetos' (
    'id' INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    'texto' VARCHAR( 50 ) NOT NULL ,
    'foto' VARCHAR( 100 ) NOT NULL
    ) ENGINE = MYISAM ;

       <?php
        // Seleciona todos os usuários
        $sql = mysql_query("SELECT * FROM tb_projetos ORDER BY nome");

        // Exibe as informações de cada usuário
        while ($usuario = mysql_fetch_object($sql)) {
            // Exibimos a foto
            echo "<figure><img src='fotos/".$usuario->foto."' alt='Foto de exibição' /></figure>";
            echo "<textarea>".$usuario->texto."</textarea>";
            echo "<form action='deleta-fotos.php' method='post'>
                    <input type='hidden' name='id_proj' value='". $usuario->id_proj."'>
                    <input type='submit' name='deletar' value='deletar' />
                </form>";
        }


        ?>

This is the php code that connects to the database and brings the data, in the table that works the code is the same and only changes the fields

            <?php
            include "conexao.php";

            // Se o usuário clicou no botão cadastrar efetua as ações
            if ($_POST['cadastrar']) {

                // Recupera os dados dos campos
                $texto = $_POST['texto'];
                $ft_projetos = $_FILES["foto"];

                // Se a foto estiver sido selecionada
                if (!empty($foto["name"])) {

                    // Largura máxima em pixels
                    $largura = 2000;
                    // Altura máxima em pixels
                    $altura = 1080;
                    // Tamanho máximo do arquivo em bytes
                    $tamanho = 1000;

                    // Verifica se o arquivo é uma imagem
                    if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $ft_projetos["type"])){
                       $error[1] = "Isso não é uma imagem.";
                    } 

                    // Pega as dimensões da imagem
                    $dimensoes = getimagesize($ft_projetos["tmp_name"]);

                    // Verifica se a largura da imagem é maior que a largura permitida
                    if($dimensoes[0] > $largura) {
                        $error[2] = "A largura da imagem não deve ultrapassar ".$largura." pixels";
                    }

                    // Verifica se a altura da imagem é maior que a altura permitida
                    if($dimensoes[1] > $altura) {
                        $error[3] = "Altura da imagem não deve ultrapassar ".$altura." pixels";
                    }

                    // Verifica se o tamanho da imagem é maior que o tamanho permitido
                    if($arquivo["size"] > $tamanho) {
                        $error[4] = "A imagem deve ter no máximo ".$tamanho." bytes";
                    }

                    // Se não houver nenhum erro
                    if (count($error) == 0) {

                        // Pega extensão da imagem
                        preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $ft_projetos["name"], $ext);

                        // Gera um nome único para a imagem
                        $nome_imagem = md5(uniqid(time())) . "." . $ext[1];

                        // Caminho de onde ficará a imagem
                        $caminho_imagem = "fotos/" . $nome_imagem;

                        // Faz o upload da imagem para seu respectivo caminho
                        move_uploaded_file($ft_projetos["tmp_name"], $caminho_imagem);

                        // Insere os dados no banco
                        $sql = mysql_query("INSERT INTO tb_projetos VALUES ('', '".$texto."', '".$nome_imagem."')");

                        // Se os dados forem inseridos com sucesso
                        if ($sql){
                            echo "Você foi cadastrado com sucesso.";
                        }
                    }

                    // Se houver mensagens de erro, exibe-as
                    if (count($error) != 0) {
                        foreach ($error as $erro) {
                            echo $erro . "<br />";
                        }
                    }
                }
            }
            ?>
    
asked by anonymous 10.06.2015 / 20:19

2 answers

4

I do not know if you noticed this small detail:

$sql = mysql_query("SELECT * FROM tb_projetos ORDER BY nome");

In the second part, you are creating a Query to the (all) database of the tb_projects table, by ordering the name field, ...ORDER BY nome"); / p>

However, your project table does not have the name field:

CREATE TABLE 'tb_projetos' (
'id' INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
'texto' VARCHAR( 50 ) NOT NULL ,
'foto' VARCHAR( 100 ) NOT NULL
) ENGINE = MYISAM ;

Take a look at this from this Page :

  

Note: If a column is AUTO_INCREMENT (like the "id" column) or TIMESTAMP (like the "reg_date" column), it is not necessary to be specified in the SQL query; MySQL will automatically add the value.

    
10.06.2015 / 20:29
0

Your "tb_projects" table does not have the "name" field, remove the "ORDER BY name".

    
10.06.2015 / 20:49