+ Responder ao Tópico



  1. #1

    Padrão php+mysql (select * from radreply)

    tenhos um sistema de cadastro em php.
    so que estou incluindo no sistema uma pagina de consulta e atualiza
    estamos usando no script php:

    <?php
    include("verifica.php");
    include("configuracao.php");

    $db = mysql_connect ($host, $login_db, $senha_db);
    $basedados = mysql_select_db($database);

    $usuario = mysql_query("SELECT * FROM radreply WHERE UserName='$UserName''") or print (mysql_error());
    while($linha = mysql_fetch_array($usuario)){
    $UserNamebanco = $linha["UserName"];
    $Attributebanco = $linha["Attribute"];
    $opbanco = $linha["op"];
    $Valuebanco = $linha["Value"];

    }
    ?>
    <?php
    switch ($acao){
    case mod:
    $db = mysql_connect ($host, $login_db, $senha_db);
    $basedados = mysql_select_db($database);

    $modificar = mysql_query("UPDATE radreply SET UserName='$UserName', Attribute='$Attribute', op='$op', Value='$Value' WHERE
    UserName='$UserName'") or print (mysql_error());
    print"
    <META HTTP-EQUIV=REFRESH CONTENT='0; URL=area_vip2.php'>
    <script type=\"text/javascript\">
    alert(\"Atenção: Seus dados foram atualizados com sucesso. Aguarde enquanto você é redirecionado para sua area VIP!\");
    </script>
    ";
    }
    ?>
    <html>
    <head>
    <title>Documento sem título</title>
    </head>

    <body>

    <div align="center">
    <form action="?acao=mod" method="post" name="cadastro" id="cadastro" onSubmit="return valida();">
    <table width="522" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr>
    <td height="20" colspan="2"><p align="left"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>DADOS
    DO SISTEMA</Strong><br>
    </font></p>
    </td>
    </tr>
    <tr>
    <td width="145" height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Nome
    completo:<font color="#FF0000">*</font></font></td>
    <td width="377" height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
    <input name="UserName" type="text" id="UserName2" value="<?php echo $UserNamebanco ?>" size="20" maxlength="40">
    (max. 40 digitos) </font></td>
    </tr>
    <tr>
    <td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Attribute do login:<font color="#FF0000">*</fon
    t></font></td>
    <td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
    <input name="Attribute" type="text" id="Attribute" value="<?php echo $Attributebanco ?>" size="20" maxlength="16">
    (max. 16 digitos) </font></td>
    </tr>
    <tr>
    <td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Operacao:<font color="#FF0000">*</font></font><
    /td>
    <td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
    <input name="op" type="text" id="op" value="<?php echo $opbanco ?>" size="20" maxlength="2">
    (max. 2 digitos) </font></td>
    <tr>
    <td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">IP:</font></td>
    <td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
    <input name="Value" type="text" id="Value" value="<?php echo $Valuebanco ?>" size="20" maxlength="15">
    (max. 15 digitos) </font></td>
    </tr>
    <td height="20"> </td>
    <td height="20"><input type="submit" name="Submit" value="Atualizar dados">
    </td>
    </tr>
    </table>
    </form>
    </div>
    </body>
    </html>

    +----+----------+-------------------------------+------+-------------------+
    | id | UserName | Attribute | op | Value |
    +----+----------+-------------------------------+------+-------------------+
    | 14 | soares | Framed-IP-Adress | = | 10.100.124.2 |
    | 15 | soares | reply-message | = | download 160 |
    | 17 | soares | reply-message | = | upload 160 |
    | 18 | soares | Framed-IP-Netmask | = | 255.255.255.252 |


    mais na pagina php so mostra a ultima,
    eu queria poder pegar uma por uma ou as 4 desse usuario e poder atualiza.

  2. #2

    Padrão

    voce precisa fazer um LOOP lendo os resultados !



  3. #3

    Padrão

    ops!

    esquece de avisar sou novo nessa area de php

  4. #4

    Padrão

    olha so um exemplo de como fazer a listagem:

    Código :
    <?
     
    function erro($a,$b,$c) {
        die("Erro no arquivo <b>" . $a . "</b> na linha <b>" . $b . "</b> -> " . $c . "!");
    }
     
     
    $db = mysql_connect("usuario","senha","servidor") or erro(__FILE__,__LINE__,mysql_error());
    mysql_select_db("banco",$db) or erro(__FILE__,__LINE__,mysql_error());
     
    $query = "SELECT * FROM cadastro WHERE ativo = '1'";
     
    $sql = mysql_query($query,$db)  or erro(__FILE__,__LINE__,mysql_error());
    $total = mysql_num_rows($sql);
     
    if ($total <= 0) { echo "Nenhum resultado encontrado."; die(); }
    else {
       while ($row = mysql_fetch_array($sql)) {
            echo $row['id'];
            echo $row['nome'];
            echo $row['endereco'];
            echo $row['cidade'];
            echo $row['estado'];
        }
    }
    @mysql_close();
    ?>

    tai um exemplo .. de como fazer e mostrar uma consulta com mais de 1 resultado

    a funcao erro , é so para mostrar mais detalhes dos erros ..
    Última edição por alexandrecorrea; 30-07-2008 às 16:32.



  5. #5

    Padrão

    Boa Alixandre

    fiz umas adaptacao para o servidor aki:

    veja o resultado do script a baixo:

    10.100.124.2 download 160 download 160 upload 160 255.255.255.252



    <?php

    include("verifica.php");
    include("configuracao.php");

    function erro($a,$b,$c) {
    die("Erro no arquivo <b>" . $a . "</b> na linha <b>" . $b . "</b> -> " . $c . "!");
    }


    $db = mysql_connect("localhost", "root", "xxxxxx" ) or erro(__FILE__,__LINE__,mysql_error());
    mysql_select_db("radius",$db) or erro(__FILE__,__LINE__,mysql_error());

    $query = "SELECT * FROM radreply WHERE UserName ='$UserName'";

    $sql = mysql_query($query,$db) or erro(__FILE__,__LINE__,mysql_error());
    $total = mysql_num_rows($sql);

    if ($total <= 0) { echo "Nenhum resultado encontrado."; die(); }
    else {
    while ($row = mysql_fetch_array($sql)) {
    //echo $row['id'];
    //echo $row['UserName'];
    //echo $row['Attribute'];
    //echo $row['op'];
    echo $row['Value'];
    }
    }
    @mysql_close();
    ?>

    muito bom so folta agora colocar em uma tabela para organiza,
    se vc poder me da + uma dica agradeco

  6. #6

    Padrão

    Você pode trocar:
    Código :
    if ($total <= 0) { echo "Nenhum resultado encontrado."; die(); }
    else {
    while ($row = mysql_fetch_array($sql)) {
    //echo $row['id'];
    //echo $row['UserName'];
    //echo $row['Attribute'];
    //echo $row['op'];
    echo $row['Value'];
    }

    por:
    Código :
    echo "<table>\n";
    echo "<tr>";
    echo "<th>ID</th>";
    echo "<th>Usuario</th>";
    echo "<th>Atributo</th>";
    echo "<th>Op</th>";
    echo "<th>Valor</th>";
    echo "</tr>";
    if ($total <= 0) { echo "Nenhum resultado encontrado."; die(); }
    else {
    while ($row = mysql_fetch_array($sql)) {
    echo "<tr>";
    echo "<td>" . $row['id'] . "</td>";
    echo "<td>" . $row['UserName'] . "</td>";
    echo "<td>" . $row['Attribute'] . "</td>";
    echo "<td>" . $row['op'] . "</td>";
    echo "<td>" . $row['Value'] . "</td>";
    echo "</tr>";
    }
    echo "</table>";


    Assim voce tera seus resultados em uma tabela.

    abracos



  7. #7

    Padrão

    OK
    Deu Certo
    obrigado a vcs que me ajudaram com esse sript

  8. #8

    Padrão

    Fala velhinhos, gostaria de deixar a sugestão para não mais usar tabelas na formatação dos resultados e sim usar div com css, isso gera muito menos código, o navegador interpreta mais rapido as div que as table ainda o codigo fica todo separado.



  9. #9

    Padrão

    vlw pessoal, esta fucionando, cetralizei e ficou legal.
    O objetivo era ver a banda (velocidade do cliente).

    aproveitando o topico ainda pergunto;

    teria como eu enviar umas dessas (UserName e Value) para duas tabelas diferentes? cujo nome delas seria "radcheck" e "cadastro", mais sao inguais as colunas.



    <?php
    include("verifica2.php");
    include("configuracao.php");

    $db = mysql_connect ($host, $login_db, $senha_db);
    $basedados = mysql_select_db($database);

    $usuario = mysql_query("SELECT * FROM radcheck WHERE UserName='$UserName'") or print (mysql_error());
    while($linha = mysql_fetch_array($usuario)){
    $UserNamebanco = $linha["UserName"];
    $Attributebanco = $linha["Attribute"];
    $opbanco = $linha["op"];
    $Valuebanco = $linha["Value"];
    $enablebanco = $linha["enable"];

    }
    ?>
    <?php
    switch ($acao){
    case mod:
    $db = mysql_connect ($host, $login_db, $senha_db);
    $basedados = mysql_select_db($database);

    $modificar = mysql_query("UPDATE radcheck SET UserName='$UserName', Attribute='$Attribute', op='$op', Value='$Value', enabl
    e='$enable' WHERE UserName='$UserName'") or print (mysql_error());
    print"
    <META HTTP-EQUIV=REFRESH CONTENT='0; URL=area_vip2.php'>
    <script type=\"text/javascript\">
    alert(\"Atenção: Seus dados foram atualizados com sucesso. Aguarde enquanto você é redirecionado para sua area VIP!\");
    </script>
    ";
    }
    ?>
    <html>
    <head>
    <title>Documento sem título</title>
    </head>

    <body>

    <div align="center">
    <form action="?acao=mod" method="post" name="cadastro" id="cadastro" onSubmit="return valida();">
    <table width="522" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr>
    <td height="20" colspan="2"><p align="left"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>DADOS
    DO SISTEMA</Strong><br>
    </font></p>
    </td>
    </tr>
    <tr>
    <td width="145" height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Login:<font color="#FF0000">*</font
    ></font></td>
    <td width="377" height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
    <input name="UserName" type="text" id="UserName" value="<?php echo $UserNamebanco ?>" size="20" maxlength="40">
    (max. 40 digitos) </font></td>
    </tr>
    <tr>
    <td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Attribute:<font color="#FF0000">*</font></font>
    </td>
    <td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
    <input name="Attribute" type="text" id="Attribute" value="<?php echo $Attributebanco ?>" size="20" maxlength="10">
    (max. 10 digitos) </font></td>
    </tr>
    <tr>
    <td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Operacao:<font color="#FF0000">*</font></font><
    /td>
    <td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
    <input name="op" type="text" id="op" value="<?php echo $opbanco ?>" size="20" maxlength="2">
    (max. 2 digitos) </font></td>
    </tr>
    <tr>
    <td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Senha:</font></td>
    <td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
    <input name="Value" type="text" id="Value" value="<?php echo $Valuebanco ?>" size="20" maxlength="15">
    (max. 15 digitos) </font></td>
    </tr>
    <tr>
    <td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Broqueado: Y/N<font color="#FF0000">*</font></f
    ont></td>
    <td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
    <input name="enable" type="text" id="enable" value="<?php echo $enablebanco ?>" size="20" maxlength="1">
    (max. 1 digitos) </font></td>
    </tr>
    <tr>
    <td height="20"> </td>
    <td height="20"><input type="submit" name="Submit" value="Atualizar dados">
    </td>
    </tr>
    </table>
    </form>
    </div>
    </body>
    </html>

  10. #10

    Padrão

    usa inner join / outr join .. para trabalhar com mais de 2 tabelas



  11. #11

    Padrão

    achai interesante!!!

    muito bom...

    mas, nao sei se vc viu esse script, pega o que está na tabela e joga para a pagina php e atualizo o que eu quero.

    ele so trabalha junto com "SELECT", ou ele trabalha tb com UPDATE

    nao sei se estou errado (ainda estou procurando mais detales sobre) "INNER JOIN".

    grato.