Jump to content

Recommended Posts

Posted (edited)

Boa tarde,

eu estou a trabalhar num projecto onde estou a criar um Bacoffice. E estou a fazer no admin.php um select da tabela, so que ele dá-me o mesmo identifier qundo este tem velores diferentes:

<?PHP
include 'db_connect.php';
session_start();

//user 'logado' ou nao
if (!isset($_SESSION['username']) || $_SESSION['username'] == '') header("Location: index.php");

$username = $_SESSION['username'];

$query_cont_lang="SELECT * FROM content_lang ORDER BY id ASC";
$cont_lang=mysql_query($query_cont_lang, $connect);
$row_cont_lang=mysql_fetch_assoc($cont_lang);

$query_cont="SELECT * FROM content WHERE id_content = '".$row_cont_lang['id_content']."'";
$cont=mysql_query($query_cont, $connect);
$row_cont=mysql_fetch_assoc($cont);
?>
<html>
 <head>
  <title>Adminstração</title>
  <!---------------------------------------------->
  <script language="JavaScript">
function confirmBox(id)
{
 if (confirm("Tem a certeza que pretende eliminar este registo? "))
 {
  location.href="remover.php?id_content="+id;
 }
 else
 {
  return false;
 }
}
  </script>
  <!---------------------------------------------->

  <style>
.sample
{
 border-width: 2px;
 border-spacing: 1px;
 border-style: solid;
 border-color: black;
 border-collapse: separate;
 background-color: none;
}

.sample_tr
{
 border-width: 1px;
 padding: 1px;
 border-style: solid;
 border-color: black;
 background-color: #FFFFFF;
}
  </style>
 </head>
 <body style="color:#000000;" bgcolor="#666666">
  <font color="#FFFFFF">Bem-Vindo ao Backoffice!     <a href="logout.php"> Sair</a></font>
  <br/>
  <br/>
  <a href="adicionar.php"><input type="button" value="Adicionar Novo Conteúdo"></input></a>
  <!--<a href="add_user.php"><input type="button" value="Adicionar Novo Utilizador"></input></a>-->
  <br/>
  <?PHP
  do {
  ?>
  <table width="100%" style="border:2px solid #000000; text-align:center;" align="center">
<tr style="border:3px solid #000000; background:#FFFFFF;">
 <td width="10%">
  IDENTIFICADOR
 </td>
 <td width="10%">
  LINGUAGEM
 </td>
 <td width="20%">
  TÍTULO
 </td>
 <td width="30%">
  CONTEÚDO
 </td>
 <td width="15%">

 </td>
 <td width="15%">

 </td>
</tr>

<tr style="border:3px solid #000000; background:#FFFFFF; border-width:5px;">
 <td width="5%">
  <?PHP echo $row_cont['identifier']; ?>
 </td>
 <td width="5%">
  <?PHP echo $row_cont_lang['lang']; ?>
 </td>
 <td width="10%">
  <?PHP echo $row_cont_lang['titulo']; ?>
 </td>
 <td align="justify" width="50%">
  <?PHP echo $row_cont_lang['descricao']; ?>
 </td>
 <?PHP
  if (!$row_cont_lang==0)
  {
 ?>
  <td width="5%">
   <a href="edit.php">Editar</a>
  </td>
  <td width="5%">
   <a href="#" onclick="confirmBox('<?php echo $row_cont_lang['id_content']; ?>')">Remover</a>
  </td>
 <?PHP
  ;}
  else
  {}
 ?>
</tr>
  </table>
 <?PHP
 } while ($row_cont_lang=mysql_fetch_assoc($cont_lang));
 ?>
</body>
</html>

No editar, não estou a conseguir com que apareça a informação do item que escolho:

<?PHP
include 'db_connect.php';
session_start();

if (isset($_SESSION['identifier']))
{
 $identif = $_SESSION['identifier'];
}
else
{
 $identif = array();
 $_SESSION['identifier']=$identif;
}

$sel_id = "SELECT * FROM content WHERE identifier='".$_SESSION['identifier']."'";
$ident = mysql_query($sel_id, $connect);
$row_id = mysql_fetch_assoc($ident);

$select_content_lang = "SELECT * FROM content_lang WHERE id_content='".$row_id['id_content']."'";
$content_lang = mysql_query($select_content_lang, $connect);
$row_content_lang = mysql_fetch_assoc($content_lang);


?>
<html>
<head>
 <title>Administração - Editar</title>
</head>

<body style="color:#FFFFFF;" bgcolor="#666666">
<form action="" method="post">
 <table >
  <tr>
<td align="right">
 Identificador:
</td>

<td>
 <select>
  <?php do{ ?>
   <option value="<?php echo $row_id['id_content']; ?>">
	<?PHP echo $row_id['identifier'] ?>
   </option>
 <?PHP } while ($row_id=mysql_fetch_assoc($ident)); ?>
 </select>
</td>
  </tr>

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

  <tr>
<td align="right">
 Linguagem:
</td>

<td>
 <select>
  <!--selecciona opção definida-->
  <?PHP //if $row_lang="pt" {?>
  <option value="pt"> Português </option>

  <?PHP //;} elseif $row_lang="en"{ ?>
  <option value="en"> Inglês </option>

  <?PHP //;} ?>
 </select>
</td>
  </tr>

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

  <tr>
<td align="right">
 Título:
</td>

<td>
 <input value="<?php echo $row_content_lang['titulo'] ?>" type="text" name="titulo">
 </input>
</td>
  </tr>

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

  <tr>
<td align="right" valign="top">
 Conteúdo:
</td>

<td>
 <textarea cols="50" rows="10"><?php echo $row_content_lang['descricao']?></textarea>
</td>
  </tr>

  <tr>
<td></td>

<td>
 <input type="submit" name="update" value="Editar Informação" />
 <a href="admin.php"><input type="button" name="update" value="Voltar"/></a>
</td>
  </tr>
 </table>
</form>
</body>
</html>
<?php
if (isset($_POST['update']))
{
 $sel_idcon="SELECT * FROM content WHERE identifier='".$identifier."'";
 $idcon=mysql_query($sel_dicon, $connect);
 $row_idcon=mysql_fetch_assoc($idcon);

 $update_info="UPDATE content_lang
 SET id_content='".$row_idcon['id_content']."', lang='".$lang."', titulo='".$titulo."', descricao='".$descricao."'
 WHERE identifier='".$_SESSION['identifier']."'";
}
?>

No delete, estou com dificuldade na parte em que ele me elimine por id, pois se for por id_content apaga-me os varios items com o mesmo id. Ja tentei mudar, mas nao me apaga:

<?php
include 'db_connect.php';
session_start();
$id_cont= $_REQUEST['id_content'];
$delete = "DELETE FROM content_lang WHERE id_content='".$id_cont."'";
$resultado = mysql_query($delete, $connect);
header ('Location: admin.php');
?>
Edited by brunoais
geshi!!!
Posted (edited)

No primeiro script, coloca estas tuas linhas do código:

$query_cont="SELECT * FROM content WHERE id_content = '".$row_cont_lang['id_content']."'";
$cont=mysql_query($query_cont, $connect);
$row_cont=mysql_fetch_assoc($cont);

Dentro do ciclo while, logo a seguir ao do{

No segundo script não estou a perceber isto:

$identif = array();
$_SESSION['identifier']=$identif;

No terceiro não te consigo ajudar porque não percebi bem a pergunta, nem tenho ideia de como está organizada a tua informação na BD.

Edited by johnmaia
Posted

No primeiro script, coloca estas tuas linhas do código:

$query_cont="SELECT * FROM content WHERE id_content = '".$row_cont_lang['id_content']."'";
$cont=mysql_query($query_cont, $connect);
$row_cont=mysql_fetch_assoc($cont);

Dentro do ciclo while, logo a seguir ao do{

No segundo script não estou a perceber isto:

$identif = array();
$_SESSION['identifier']=$identif;

No terceiro não te consigo ajudar porque não percebi bem a pergunta, nem tenho ideia de como está organizada a tua informação na BD.

No segundo script, o editar, eu estou a tentar iniciar sessão com a linha escolhida e inserir a sua informação na respetiva textbox.

O terceiro script, de eliminar eu quero eliminar por id, o id_content vai ter alguns iguais, pois a informação vai ser traduzida, logo vai haver varias linhas com o mesmo id_content...

Aqui estao as tabelas para ajudar melhor:

content:

id_content | identifier

content_lang:

id | id_content | lang | titulo | descricao

Posted

No teu primeiro script,

Altera isto:

<td width="5%">
  <a href="edit.php">Editar</a>
</td>

Para isto:

<td width="5%">
  <a href="edit.php?identifier=<?=$row_cont['identifier']; ?>">Editar</a>
</td>

No teu segundo script,

Altera o teu código, para este:

<?PHP
include 'db_connect.php';
session_start();

if(!isset($_GET['identifier']))    echo "No Identifier";
else
{
   $sel_id = "SELECT * FROM content WHERE identifier='".$_GET['identifier']."'";
   $ident = mysql_query($sel_id, $connect);
   $row_id = mysql_fetch_assoc($ident);

   $select_content_lang = "SELECT * FROM content_lang WHERE id_content='".$row_id['id_content']."'";
   $content_lang = mysql_query($select_content_lang, $connect);
   $row_content_lang = mysql_fetch_assoc($content_lang);

   ?>
   <html>
   <head>
     <title>Administração - Editar</title>
   </head>

   <body style="color:#FFFFFF;" bgcolor="#666666">
   <form action="" method="post">
   <table >
       <tr>
	    <td align="right">
		 Identificador:
	    </td>
           <td>
            <select>
             <?php do{ ?>
              <option value="<?php echo $row_id['id_content']; ?>">
                   <?PHP echo $row_id['identifier'] ?>
              </option>
            <?PHP } while ($row_id=mysql_fetch_assoc($ident)); ?>
            </select>
           </td>
        </tr>
        <tr height="10px"></tr>
        <tr>
           <td align="right">
            Linguagem:
           </td>
           <td>
			 <select>
			  <!--selecciona opção definida-->
			  <?PHP //if $row_lang="pt" {?>
			  <option value="pt"> Português </option>

			  <?PHP //;} elseif $row_lang="en"{ ?>
			  <option value="en"> Inglês </option>

			  <?PHP //;} ?>
			 </select>
           </td>
          </tr>
          <tr height="10px"></tr>
          <tr>
           <td align="right">
            Título:
           </td>
           <td>
            <input value="<?php echo $row_content_lang['titulo'] ?>" type="text" name="titulo">
            </input>
           </td>
          </tr>
          <tr height="10px"></tr>
          <tr>
           <td align="right" valign="top">
            Conteúdo:
           </td>
           <td>
            <textarea cols="50" rows="10"><?php echo $row_content_lang['descricao']?></textarea>
           </td>
          </tr>
          <tr>
           <td></td>
           <td>
            <input type="submit" name="update" value="Editar Informação" />
            <a href="admin.php"><input type="button" name="update" value="Voltar"/></a>
           </td>
      </tr>
   </table>
   </form>
   </body>
   </html>
   <?php
   if (isset($_POST['update']))
   {
     $sel_idcon="SELECT * FROM content WHERE identifier='".$identifier."'";
     $idcon=mysql_query($sel_dicon, $connect);
     $row_idcon=mysql_fetch_assoc($idcon);

     $update_info="UPDATE content_lang
            SET id_content='".$row_idcon['id_content']."', lang='".$lang."', titulo='".$titulo."', descricao='".$descricao."'
            WHERE identifier='".$_GET['identifier']."'";
   }
}
?>
Posted (edited)

Ja resolvi tudo só faltam umas cenas:

no edit.php na lista dos identificadores só me aparece o que pertence à linha que escolhi e eu quero que apareça a lista de todos os identificadores, mas que venha seleccionada a que pertence à linha escolhida...

outra, é a linguagem, são sempre as mesmas (Portugues e Ingles), mas eu quero que faça a mesma coisa, seleccione a que pertence à linha escolhida para editar.

e por fim, quero que vá para o edit do id da informação que eu escolhi...

admin.php:

<?PHP
include 'db_connect.php';
session_start();

//user 'logado' ou nao
if (!isset($_SESSION['username']) || $_SESSION['username'] == '') header("Location: index.php");

$username = $_SESSION['username'];

$query_cont_lang="SELECT * FROM content_lang";
$cont_lang=mysql_query($query_cont_lang, $connect);
$row_cont_lang=mysql_fetch_assoc($cont_lang);
?>
<html>
 <head>
  <title>Adminstração</title>
  <!---------------------------------------------->
  <script language="JavaScript">
function confirmBox(id)
{
 if (confirm("Tem a certeza que pretende eliminar este registo? "))
 {
  location.href="remover.php?id_content="+id;
 }
 else
 {
  return false;
 }
}
  </script>
  <!---------------------------------------------->

  <style>
a
{
 color:#FFFFFF;
 text-decoration:none;
}

a:hover
{
 color:#FFFFFF;
 text-decoration:underline;
}
  </style>
 </head>
 <body style="color:#000000;" bgcolor="#666666">
  <font color="#FFFFFF">Bem-Vindo ao Backoffice!     <a href="logout.php"> Logout</a></font>
  <br/>
  <br/>
  <a href="adicionar.php"><input type="button" value="Adicionar Novo Conteúdo"></input></a>
  <!-- <a href="add_user.php"><input type="button" value="Adicionar Novo Utilizador"></input></a> -->
  <!-- <a href="logout.php"><input type="button" name="sair" value="Logout" /> -->
  <br/>
  <?PHP
  do {
$query_cont="SELECT * FROM content WHERE id_content = '".$row_cont_lang['id_content']."'";
$cont=mysql_query($query_cont, $connect);
$row_cont=mysql_fetch_assoc($cont);
  ?>
<table width="100%" style="border:2px solid #000000; text-align:center;" align="center">
<tr style="border:3px solid #000000; background:#FFFFFF;">
 <td width="10%">
  IDENTIFICADOR
 </td>
 <td width="10%">
  LINGUAGEM
 </td>
 <td width="20%">
  TÍTULO
 </td>
 <td width="30%">
  CONTEÚDO
 </td>
 <td width="15%">

 </td>
 <td width="15%">

 </td>
</tr>
 <td width="5%">
  <?PHP echo $row_cont['identifier']; ?>
 </td>
 <td width="5%">
  <?PHP echo $row_cont_lang['lang']; ?>
 </td>
 <td width="10%">
  <?PHP echo $row_cont_lang['titulo']; ?>
 </td>
 <td align="justify" width="50%">
  <?PHP echo $row_cont_lang['descricao']; ?>
 </td>
 <?PHP
  if (!$row_cont_lang==0)
  {
 ?>
  <td width="5%">
	 <a style="a{text-decoration:none; color:#FFFFFF;} a:hove{text-decoration:underline; color:#FFFFFF;}" href="edit.php?identifier=<?php echo $row_cont['identifier']; ?>">Editar</a>
  </td>

  <td width="5%">
   <a style="a{text-decoration:none; color:#FFFFFF;} a:hove{text-decoration:underline; color:#FFFFFF;}" href="#" onclick="confirmBox('<?php echo $row_cont_lang['id_content']; ?>')">Remover</a>
  </td>
 <?PHP
  ;}
  else
  {}
 ?>
</tr>
  </table>
 <?PHP
 } while ($row_cont_lang=mysql_fetch_assoc($cont_lang));
 ?>
</body>
</html>

edit.php:

<?PHP
include 'db_connect.php';
session_start();
if (isset($_GET['identifier']))
{
$sel_id = "SELECT * FROM content WHERE identifier='".$_GET['identifier']."'";
$ident = mysql_query($sel_id, $connect);
$row_id = mysql_fetch_assoc($ident);
?>
<html>
<head>
  <title>Administração - Editar</title>
</head>
<body style="color:#FFFFFF;" bgcolor="#666666">
<form action="" method="post">
  <table >
<tr>
  <td align="right">
Identificador:
  </td>

  <td>
<select name="identifier">

 <?php
 do{
 $select_content_lang = "SELECT * FROM content_lang WHERE id_content='".$row_id['id_content']."'";
 $content_lang = mysql_query($select_content_lang, $connect);
 $row_content_lang = mysql_fetch_assoc($content_lang);
 ?>

  <option value="<?php echo $row_id['id_content']; ?>">
 <?PHP echo $row_id['identifier'] ?>
  </option>

<?PHP
} while ($row_id = mysql_fetch_assoc($ident));
?>
</select>
  </td>
</tr>

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

<tr>
  <td align="right">
Linguagem:
  </td>

  <td>
<select name="lang">

<option value="pt">
  Português
 </option>

 <option value="en">
  Inglês
 </option>

</select>
  </td>
</tr>

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

<tr>
  <td align="right">
Título:
  </td>

  <td>
<input value="<?php echo $row_content_lang['titulo'] ?>" type="text" name="titulo">
</input>
  </td>
</tr>

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

<tr>
  <td align="right" valign="top">
Conteúdo:
  </td>

  <td>
<textarea name="descricao" cols="50" rows="10"><?php echo $row_content_lang['descricao']?></textarea>
  </td>
</tr>

<tr>
  <td></td>

  <td>
<input type="submit" name="update" value="Editar Informação" />
<a href="admin.php"><input type="button" name="update" value="Voltar"/></a>
  </td>
</tr>
  </table>
</form>
</body>
</html>
<?php
if (isset($_POST['update']))
{
  $identifier=$_POST['identifier'];
  $lang=$_POST['lang'];
  $titulo=$_POST['titulo'];
  $descricao=$_POST['descricao'];
  $update_info="UPDATE content_lang
SET id_content='".$identifier."', lang='".$lang."', titulo='".$titulo."', descricao='".$descricao."'
WHERE id='".$row_content_lang['id']."'";
  $info=mysql_query($update_info, $connect);

  if (!$info)
  {
 echo '<script>alert("Erro na edição devido a um erro no sistem. Tente mais tarde");
  location.href="admin.php"<script>';
  }
  else
  {
 echo '<script>alert("Informação editada com sucesso.");
  location.href="admin.php";</script>';
  }
}
}
?>
Edited by brunoais
geshi!!!
Posted (edited)

Alguem me pode ajudar sff?

Obrigado

Ei! Impaciência é o teu pior inimigo!

Espera, pelo menos, 24h antes de fazeres BUMP (BUMP = Bring Up My Post).

Este é o teu último aviso.

Edited by brunoais
esclareci o que BUMP significa

"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

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.