Jump to content

Recommended Posts

Posted

Boas,

Eu estou a fazer a listagem dos automoveis do utilizador, e na edição faço uma box popup, mas nao consigo por a info nas input text:

listagem dos automoveis (matricula e apolice)

<?php
  $cod_car;
  $select_id="SELECT * FROM civil_users WHERE nif_user='".$_SESSION['username']."' OR email_user='".$_SESSION['username']."'";
  $query_id=mysql_query($select_id, $connect) or die(mysql_error());
  $id=mysql_fetch_assoc($query_id);

  $select_car="SELECT * FROM cars WHERE id_owner='".$id['id_user']."'";
  $query_car=mysql_query($select_car, $connect) or die(mysql_error());
  $car=mysql_fetch_assoc($query_car);
 ?>

 <table class="car_info">
 <?php	   
  if($row_car=mysql_num_rows($query_car)!=0){
  do{
 ?>
  <tr>
   <td align="left">
    Matrícula:
   </td>

   <td width="10px"></td>

   <td align="right">
    <label> <?php echo $car['matricula_car']; ?> </label>
   </td>
   <td>
    <a href="#login-box" class="login-window">
	 <input class="button_edit" name="edit_car" type="submit" value="Editar"/>
    </a>
   </td>
  </tr>

  <tr height="10px"></tr>

  <tr>
   <td align="left">
    Apólice:
   </td>

   <td width="10px"></td>

   <td align="right">
    <label> <?php echo $car['apolice_seg']; ?> </label>
   </td>

  </tr>
  <tr>

   <td align="right" colspan="3">
    <label > <?php echo $car['id_car']; ?></label>
   </td>

  </tr>

  <tr height="35px"></tr>
  <?php
   }while($car=mysql_fetch_assoc($query_car));
  }
  ?>
 </table>

box popup

<?php
                       $select_id_user="SELECT * FROM civil_users WHERE nif_user='".$_SESSION['username']."' OR email_user='".$_SESSION['username']."'";
                       $query_id_user=mysql_query($select_id_user, $connect) or die(mysql_error());
                       $id_user=mysql_fetch_assoc($query_id_user);

                       $select_car_id="SELECT * FROM cars WHERE id_owner='".$id['id_user']."'";
                       $query_car_id=mysql_query($select_car_id, $connect) or die(mysql_error());
                       $car_id=mysql_fetch_assoc($query_car_id);
                   ?>

               <!-- hidden inline form -->
                   <div id="login-box" class="login-popup">
                   <a href="#" class="close"><img src="images/close_pop.png" class="btn_close" title="Close Window" alt="Close" /></a>    
                     <form method="post" class="signin" action="edit_car.php">
                           <fieldset class="textbox">
                               <label class="username">
                                   <span>Matrícula:<?php echo $car_id['id_car']; ?></span>
                                   <input type="text" id="username" name="matricula_info" value="<?php echo $car_id['matricula_car'] ?>" />
                               </label>

                               <label class="password">
                                   <span>Apólice:</span>
                                   <input type="text" id="password" name="apolice_info" value="<?php echo $car_id['apolice_seg'] ?>" />
                               </label>

                               <input class="button" type="submit" name="edit_car_info" value="Editar"/>
                           </fieldset>
                     </form>

Alguem me pode ajudar, sff?

Obrigado,

PF2G

Posted (edited)
<label class="username">
<span>Matrícula:<?php echo $car_id['id_car']; ?></span>
<input type="text" id="username" name="matricula_info" value="<?php echo $car_id['matricula_car'] ?>" />
</label>

<label class="password">
<span>Apólice:</span>
<input type="text" id="password" name="apolice_info" value="<?php echo $car_id['apolice_seg'] ?>" />
</label>

PF2G nao sei se reparaste mas esqueceste-te de colocar ";" em todos os echos que fizeste...

e podias usar um while aqui

$car_id=mysql_fetch_assoc($query_car_id);

ve se resolve...

Edited by joaocasta
Posted

onde e' que o $id esta' declarado?

<?php
$select_id_user="SELECT * FROM civil_users WHERE nif_user='".$_SESSION['username']."' OR email_user='".$_SESSION['username']."'";
$query_id_user=mysql_query($select_id_user, $connect) or die(mysql_error());
$id_user=mysql_fetch_assoc($query_id_user);
$select_car_id="SELECT * FROM cars WHERE id_owner='".$id['id_user']."'";
$query_car_id=mysql_query($select_car_id, $connect) or die(mysql_error());
$car_id=mysql_fetch_assoc($query_car_id);

Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Posted

Mas continua a dar a mesma coisa, aparece a info do 2º registo em todos...

como assim?

Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Posted
<?php
  $query_id_user=mysql_query("SELECT * FROM civil_users WHERE nif_user='".$_SESSION['username']."' OR email_user='".$_SESSION['username']."'", $connect) or die(mysql_error());
  $id_user=mysql_fetch_array($query_id_user);

  $query_car_id=mysql_query("SELECT * FROM cars WHERE id_owner='".$id_user['id_user']."'", $connect) or die(mysql_error());
  $car_id=mysql_fetch_assoc($query_car_id);

  $query_infocar=mysql_query("SELECT * FROM cars WHERE id_car='".$car_id['id_car']."'", $connect) or die(mysql_error());
  $infocar=mysql_fetch_assoc($query_car_id);
 ?>

   <!-- hidden inline form -->
 <div id="login-box" class="login-popup">
 <a href="#" class="close"><img src="images/close_pop.png" class="btn_close" title="Close Window" alt="Close" /></a>
   <form method="post" class="signin" action="edit_car.php">
   <fieldset class="textbox">
    <label class="username">
	 <span>Matrícula:<?php echo $infocar['id_car']; ?></span>
	 <input type="text" id="username" name="matricula_info" value="<?php echo $infocar['matricula_car']; ?>" />
    </label>

    <label class="password">
	 <span>Apólice:</span>
	 <input type="text" id="password" name="apolice_info" value="<?php echo $infocar['apolice_seg']; ?>" />
    </label>

    <input class="button" type="submit" name="edit_car_info" value="Editar"/>
   </fieldset>
   </form>
 </div>

Tenho aqui 3 registos.

Se eu quiser editar qualquer que seja aparece-me a info do 2º registo.

Posted
<?php
$query_car_id=mysql_query("SELECT * FROM cars WHERE id_owner='".$id_user['id_user']."'", $connect) or die(mysql_error());
$car_id=mysql_fetch_assoc($query_car_id);
$query_infocar=mysql_query("SELECT * FROM cars WHERE id_car='".$car_id['id_car']."'", $connect) or die(mysql_error());
$infocar=mysql_fetch_assoc($query_car_id);

Isto vai muito provavelmente dar o mesmo resultado, acho que tens demasiadas querys e tem que ver que a a 1 query pode returnar varios valores, mas tu so' estas a apanhar o primeiro registo.

Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Posted

Ja tentei só mexer com esta:

$query_car_id=mysql_query("SELECT * FROM cars WHERE id_owner='".$id_user['id_user']."'", $connect) or die(mysql_error());
	  $car_id=mysql_fetch_assoc($query_car_id);

Mas não estou a ver como consigo o id_carro

Posted
$query_car_id=mysql_query("SELECT * FROM cars WHERE id_owner='".$id_user['id_user']."'", $connect) or die(mysql_error()));
$row = mysql_fetch_row($query_car_id);
$carid = $row["id_car"];

Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Posted

Não aparece nada. E se fizer:

<?php
  $query_id_user=mysql_query("SELECT * FROM civil_users WHERE nif_user='".$_SESSION['username']."' OR email_user='".$_SESSION['username']."'", $connect) or die(mysql_error());
  $id_user=mysql_fetch_array($query_id_user);

  $query_car_id=mysql_query("SELECT * FROM cars WHERE id_owner='".$id_user['id_user']."'", $connect) or die(mysql_error());
  $row = mysql_fetch_array($query_car_id);
  $car_id = $row["id_car"];
 ?>

Dá-me a mesma treta mas é a info do 1º registo

Posted (edited)
$result = mysql_query("SELECT c.* FROM cars c,civil_users cu WHERE (nif_user='".$_SESSION['username']."' OR email_user='".$_SESSION['username']."') AND c.id_owner = cu.nif_user");

while($row = mysql_fetch_row($result))
{
 echo "<h1>".$row["id_car"]."</h1>"; //imprime o id_car
 print_r($row); //imprime todos os campos
 echo "<br><br><br>"; //explicito!

 //codigo para mostrar os registos...
}

EDIT: corrigir erros no codigo

Edited by pikax

Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Posted

Ei man que complicação. Dá a mesma

Complicacao???? Complicacao era o que estavas a fazer.

Era melhor usar joins, mas previ que ainda te ia confundir mais...

Se fizeste copy&paste do meu codigo e nao te apareceu nenhum erro, e' melhor activares os erros no PHP, o codigo tinha uns erros, experimenta agr:

$result = mysql_query("SELECT c.* FROM cars c,civil_users cu WHERE (nif_user='".$_SESSION['username']."' OR email_user='".$_SESSION['username']."') AND c.id_owner = cu.nif_user");

while($row = mysql_fetch_row($result))
{
 echo "<h1>".$row["id_car"]."</h1>"; //imprime o id_car
 print_r($row); //imprime todos os campos
 echo "<br><br><br>"; //explicito!

 //codigo para mostrar os registos...
}

EDIT: corrigir erros no codigo

Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Posted

PF2G nao sei se reparaste mas esqueceste-te de colocar ";" em todos os echos que fizeste...

Não é mandatório.

@PF2G,

Analisa bem a tua dúvida, porque ninguém te vai dar a solução pronta a usar. Até agora não tens participado muito a tentar resolvê-la, pelo que me parece (copiar e colar código não é resolver).

Posted (edited)

<?php
  $query_id_user=mysql_query("SELECT * FROM civil_users WHERE nif_user='".$_SESSION['username']."' OR email_user='".$_SESSION['username']."'", $connect) or die(mysql_error());
  $id_user=mysql_fetch_array($query_id_user);

  $query_car_id=mysql_query("SELECT * FROM cars WHERE id_owner='".$id_user['id_user']."'", $connect) or die(mysql_error());
  $car_id=mysql_fetch_assoc($query_car_id);

  $query_infocar=mysql_query("SELECT * FROM cars WHERE id_car='".$car_id['id_car']."'", $connect) or die(mysql_error());
  $infocar=mysql_fetch_assoc($query_car_id);
 ?>

<!-- hidden inline form -->
 <div id="login-box" class="login-popup">
 <a href="#" class="close"><img src="images/close_pop.png" class="btn_close" title="Close Window" alt="Close" /></a>
   <form method="post" class="signin" action="edit_car.php">
   <fieldset class="textbox">
	<label class="username">
	 <span>Matrícula:<?php echo $infocar['id_car']; ?></span>
	 <input type="text" id="username" name="matricula_info" value="<?php echo $infocar['matricula_car']; ?>" />
	</label>

	<label class="password">
	 <span>Apólice:</span>
	 <input type="text" id="password" name="apolice_info" value="<?php echo $infocar['apolice_seg']; ?>" />
	</label>

	<input class="button" type="submit" name="edit_car_info" value="Editar"/>
   </fieldset>
   </form>
 </div>

Tenho aqui 3 registos.

Se eu quiser editar qualquer que seja aparece-me a info do 2º registo.

Vários problemas:

1. Não vejo código que indica o envio da identificação do carro quando clicas no "editar". Envias os dados por Ajax? Estás a enviar correctamente? Já viste no firebug?

2. também não vejo onde recebes o POST/GET da identificação do carro que envias-te no ponto 1

3. Claro, tens 3 registos mas só estás a obter 1 registo com $infocar=mysql_fetch_assoc($query_car_id);

<?php
  $query_id_user=mysql_query("SELECT * FROM civil_users WHERE nif_user='".$_SESSION['username']."' OR email_user='".$_SESSION['username']."'", $connect) or die(mysql_error());
  $id_user=mysql_fetch_array($query_id_user);

  $query_car_id=mysql_query("SELECT * FROM cars WHERE id_owner='".$id_user['id_user']."'", $connect) or die(mysql_error());
  $row = mysql_fetch_array($query_car_id);
  $car_id = $row["id_car"];
 ?>

4. nif = username ? email = username ? Isto está correcto?

5. Adiciona LIMIT 1 na 1º query onde procuras pelo utilizador (só para o caso de teres mais utilizadores que satisfação a condição WHERE

6. é aqui que supostamente deves selecionar (falta a coluna no WHERE) o carro com base na identificação que enviaste no ponto 1

Corrigi isso tudo!

Edited by taviroquai
Posted

Vários problemas:

1. Não vejo código que indica o envio da identificação do carro quando clicas no "editar". Envias os dados por Ajax? Estás a enviar correctamente? Já viste no firebug?

2. também não vejo onde recebes o POST/GET da identificação do carro que envias-te no ponto 1

3. Claro, tens 3 registos mas só estás a obter 1 registo com $infocar=mysql_fetch_assoc($query_car_id);

4. nif = username ? email = username ? Isto está correcto?

5. Adiciona LIMIT 1 na 1º query onde procuras pelo utilizador (só para o caso de teres mais utilizadores que satisfação a condição WHERE

6. é aqui que supostamente deves selecionar (falta a coluna no WHERE) o carro com base na identificação que enviaste no ponto 1

Corrigi isso tudo!

E usar o GET foi a primeira que experimentei, mas dá barraca por causa disto:

<td>
    <a href="#login-box" class="login-window">
	 <input class="button_edit" name="edit_car"  type="submit" value="Editar" />
    </a>
   </td>

Se eu acrescentar o GET não me dá nada.

E sim nif = username ? email = username está correto, por que o $_SESSION ou é o nif ou o email.

Posted

Não joaocosta.

O que eu tenho de fazer e peço que alguem me ajude, pois nao estou ver maneira, é fazer o GET sem que dê problemas com o form popup.

A maneira como fiz foi

<a href="?matr=<?php echo $car['matricula'] ?>#login-box">
(...)

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.