Ir para conteúdo

POWERED BY:

Arquivado

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

Pedro San G. Silva

[Resolvido] é possivel?

Recommended Posts

Não entendi o que você está querendo fazer. Explique melhor!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olhe esse codigo

<html>
<head><title>v</title>
</head>
<body>
<?php

/**
* @author FreeUser
* @copyright 2011
*/

$name = $_POST["name"];
/* Connecting, selecting database */
$db_link = mysql_connect("localhost", "root", "");

mysql_select_db("ragnarok") or die("Could not select database");

/* Performing SQL query */
$selecionar = "SELECT name,class,account_id,base_level FROM `char` WHERE `name` = '$name'";

$resultado = mysql_query($selecionar, $db_link);
$linha = mysql_fetch_array($resultado);

$accountid = $linha['account_id'];
$selecionar2 = "SELECT account_id,sex FROM `login` WHERE `account_id` = '$accountid'";

$resultado2 = mysql_query($selecionar2, $db_link);
$linha2 = mysql_fetch_array($resultado2);




$sex = $linha2['sex'];

/* Closing connection */
mysql_close($db_link);

?>
<table align="center">
<tr>
<td><img src="img/j<?php echo $linha['class']."_"; 
    echo $linha2['sex']
?>_stand.gif" /></td>
</tr>
<tr>
<td><?php echo $linha['name'] ?></td><td><?php echo $linha['base_level']; ?></td>
</tr>
</table>

</body>
</html>

ele usa 2 SELECT, dois query e dois Fetch array

como posso usar while nele?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você sabe usa UM while? Se você fazer um, basta fazer dois. Apenas lembre-se de não sobrescrever as variáveis. :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

tentei assim:

<html>
<head><title>v</title>
</head>
<body>
<?php

/**
* @author FreeUser
* @copyright 2011
*/

$name = $_POST["name"];
/* Connecting, selecting database */
$db_link = mysql_connect("localhost", "root", "");

mysql_select_db("ragnarok") or die("Could not select database");

/* Performing SQL query */
$resultado = mysql_query($selecionar, $db_link);

$selecionar = "SELECT name,class,account_id,base_level FROM `char` ";
$selecionar2 = "SELECT account_id,sex FROM `login` WHERE `account_id` = '$accountid'" ;
$resultado2 = mysql_query($selecionar2, $db_link) ;
$resultado = mysql_query($selecionar, $db_link) ;
while (

$linha = mysql_fetch_array($resultado) &&
$linha2 = mysql_fetch_array($resultado2) 

) {

$accountid = $linha['account_id'];


$sex = $linha2['sex'];
?>
<table align="center">
<tr>
<td><img src="img/j<?php echo $linha['class']."_"; 
    echo $linha2['sex']
?>_stand.gif" /></td>
</tr>
<tr>
<td><?php echo $linha['name'] ?></td><td><?php echo $linha['base_level']; ?></td>
</tr>
</table>
<?php
}
/* Closing connection */
mysql_close($db_link);
?>


</body>
</html>

mas creio que eu tenha feito algo bem errado

é que faz tempo que não mecho com php, esqueci algumas coisas que eu não acho na internet para aprender dinovo

 

nesse jeito ai em cima ele me retorna a pagina em branco

nenhum erro

nadinha

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiro de tudo, habilite a exibição de erros. No início do script:

 

ini_set( 'display_errors', TRUE );

error_reporting( E_ALL | E_STRICT );

É esperado aperecerem alguns.

 

Então leia (ou releia) sobre while() e como integrá-lo com mysql_fetch_array(). :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Notice: Undefined index: name in C:\... on line 16

 

Notice: Undefined variable: selecionar in C:\... on line 23

 

Notice: Undefined variable: accountid in C:\... 26

 

agora o erro aparece

mas não sei como resolver

a pagina do while que voce mandou e a de como integrar um fetch array não ajudou muito, ele não explica como usar dois fetch array e no meu caso que eu estou pegando um codigo de uma tabela e procurando em outra para exibir

Compartilhar este post


Link para o post
Compartilhar em outros sites

Undefined indexes significa que esse índices não estão presentes no array que você passou.

 

Faça um:

 

var_dump( $_POST );

E veja o que tem nele.

 

Sobre o exemplo, ensina sim. Mas ele ensina ao invés de fazer para você.

 

Acontece que os exemplos do manual mostram diretamente, através de um printf(). Você, por outro lado, procura como tirar as informações do recurso para usar num template HTML.

 

Mas basta trabalhar com variáveis, como já estava fazendo antes que vai funcionar. Mas lembre-se, se forem mais de uma informação, essa variável onde for armazenar, deverá ser um operada como um array:

 

while( $row = mysql_fetch_array( $query ) ) {
   $data[] = $row;
}

var_dump( $data );

Compartilhar este post


Link para o post
Compartilhar em outros sites

poxa vida!

$selecionar = "SELECT name,class,account_id,base_level FROM `char` ";
$selecionar2 = "SELECT account_id,sex FROM `login` WHERE `account_id` = '$accountid'" ;

as tabelas se relacionam ne?!

 

account_id numa e account_id na outra também!! caramba!

 

Faça um JOIN !

Compartilhar este post


Link para o post
Compartilhar em outros sites

é meio enrolado mesmo

eu vou tentar usar JOIN mesmo, eu ja tinha lido, vou tentar aplicar agora

espero que funcione

caso não funcione eu fuço um pouco mais e se eu não conseguir eu volto aqui encher o saco de :lol:

 

 

 

 

 

 

edit

fiz o join

agora o erro é outro kkk

 


$selecionar = "Select `login`.account_id, sex, `char`.name, class, account_id from `char` INNER JOIN `login` ON char.`account_id` = login.`account_id`   ORDER BY `account_id` ASC";

tenho quase certeza que o erro está aqui

o erro é

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in xxx on line 29

 

a linha 29 é essa

$linha = mysql_fetch_array($resultado)

 

essa parte está dentro dos parenteses do WHILE

esse fetch array não está recebendo corretamente, eu não faço a menor ideia do porque

Compartilhar este post


Link para o post
Compartilhar em outros sites

faça o seguinte:

 

$selecionar = "SELECT `login`.`account_id`, `sex`, `char`.`name`, `class` 
   FROM `char` INNER JOIN `login` ON `char`.`account_id` = `login`.`account_id`  
   ORDER BY `char`.`account_id` ASC";

mysql_query( $selecionar )or die( mysql_error() );

ai será mostrado na tela o motivo de ter falhado

 

ps: corrigi algumas coisinhas que vi errado da tua tentativa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

é isso ai amigo, apague todas as menções a $linha2, e adicione os campos q você quer trazer:

 

$selecionar = "SELECT `login`.`account_id`, `sex`, `char`.`name`, `class`, `base_level` 
   FROM `char` INNER JOIN `login` ON `char`.`account_id` = `login`.`account_id`  
   ORDER BY `char`.`account_id` ASC";

mysql_query( $selecionar )or die( mysql_error() );

 

 

ps: compare q você vai perceber.

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.