DevilRocks92 Posted May 30, 2012 at 05:13 PM Report #459227 Posted May 30, 2012 at 05:13 PM (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 May 30, 2012 at 09:53 PM by brunoais geshi!!!
johnmaia Posted May 30, 2012 at 06:11 PM Report #459241 Posted May 30, 2012 at 06:11 PM (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 May 30, 2012 at 06:53 PM by johnmaia
DevilRocks92 Posted May 31, 2012 at 12:12 PM Author Report #459440 Posted May 31, 2012 at 12:12 PM 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
johnmaia Posted May 31, 2012 at 12:38 PM Report #459446 Posted May 31, 2012 at 12:38 PM 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']."'"; } } ?>
DevilRocks92 Posted May 31, 2012 at 03:19 PM Author Report #459492 Posted May 31, 2012 at 03:19 PM (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 May 31, 2012 at 04:52 PM by brunoais geshi!!!
brunoais Posted May 31, 2012 at 04:54 PM Report #459518 Posted May 31, 2012 at 04:54 PM (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 May 31, 2012 at 04:55 PM 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%.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now