Mi preunta es la sig. Tengo un archivo php en en que se cargan de forma dinamica todo el menu de la parte pública.
Es decir, un listado.
Cada item tiene 3 enlaces de opciones elq ue nos interesa es el de editar y modificar el nombre del titulo...es decir cambiar el nombre de inicio por HOME... o cosas así...
Todo eso se hace mediante jquery dialog... es decir que todo se carga desde un mismo arichivo php que se llama menu.php
Archivo menu.php
Código PHP:
Ver original
if (@$_POST['enviarm']) { if (!empty($_POST['titulo']) || !empty($_POST['enlace'])) { $titulo = $_POST['titulo']; $enlace = $_POST['enlace']; $crearm=''; $consulta = $bd->Query("INSERT INTO menu VALUES (NULL, '$titulo', '','', '$enlace')"); } else { $faltadato = ''; } } if (@$_POST['enviarsubm']) { if (!empty($_POST['titulo']) || !empty($_POST['enlace'])) { $titusub = $_POST['titusub']; $enlace = $_POST['enlace']; $idpadre = $_COOKIE["urlmenu"]; $crearsm=''; $consulta = $bd->Query("INSERT INTO submenu VALUES (NULL, '$titusub', '$enlace', '$idpadre')"); } else { $faltadato = ''; } } if (@$_POST['modificar']) { $titulo = $_POST['titulo']; $enlace = $_POST['enlace']; $idpadre = $_COOKIE["urlmenu"]; $mod=''; $consulta = $bd->Query("UPDATE menu SET titulo = '$titulo', href = '$enlace' WHERE id = '$idpadre'"); // // echo "<div id='elimenu' title='Submenu'><p>El menu ha sido borrado correctamente.</p></div>"; // // header("Location: admin.php?menu=menus"); } if (isset($_GET['a']) && $_GET['a'] == "elimenu") { $id = $_GET['id']; $consulta = $bd->Query("DELETE FROM menu WHERE id = '$id'"); $borrado=''; // echo "<div id='elimenu' title='Submenu'><p>El menu ha sido borrado correctamente.</p></div>"; // header("Location: admin.php?menu=menus"); } if (isset($_GET['a']) && $_GET['a'] == "elisub") { $id = $_GET['idsub']; $consulta = $bd->Query("DELETE FROM submenu WHERE idsubmenu = '$id'"); $borrado=''; // echo "<div id='elisub' title='Submenu'><p>El submenu ha sido borrado correctamente.</p></div>"; // header("Location: admin.php?menu=menus"); } $consulta = $bd->Query("SELECT * FROM menu ORDER BY id ASC"); $qsubmenu = $bd->Query("SELECT * FROM submenu"); ?> <div id='mpadre' title='Agregar elemento '> <?php $submenu = new formu('menu','admin.php?menu=menus'); echo $submenu->CrearInput('text','titulo','Titulo menu:','','','','','','si'); echo $submenu->CrearInput('text','enlace','Enlace:','','','','','','si'); echo $submenu->CrearInput('submit','enviarm','no','','','','Enviar'); echo $submenu->CrearInput('reset','','no','','','','Borrar'); $submenu->FinFormu(); ?> </div> <div id='modmpadre' title='Modificar elemento '> <?php $submenu = new formu('modmenu','admin.php?menu=menus'); echo $submenu->CrearInput('text','titulo','Titulo menu:','','',''); echo $submenu->CrearInput('text','enlace','Enlace:','','','','',''); echo $submenu->CrearInput('submit','modificar','no','','','','Modificar'); echo $submenu->CrearInput('reset','','no','','','','Borrar'); $submenu->FinFormu(); ?> </div> <div id='sbmpadre' title='Agregar submenu '> <?php $submenu = new formu('submenu','admin.php?menu=menus'); echo $submenu->CrearInput('text','titusub','Titulo submenu:','','','','','','si'); echo $submenu->CrearInput('text','enlace','Enlace:','','','','','','si'); echo $submenu->CrearInput('submit','enviarsubm','no','','','','Enviar'); echo $submenu->CrearInput('reset','','no','','','','Borrar'); $submenu->FinFormu(); ?> </div> <div id='modsbmpadre' title='Modificar submenu '> <?php $submenu = new formu('submenu','admin.php?menu=menus'); echo $submenu->CrearInput('text','titusub','Titulo submenu:','','','','','','si'); echo $submenu->CrearInput('text','enlace','Enlace:','','','','','','si'); echo $submenu->CrearInput('submit','enviarsubm','no','','','','Enviar'); echo $submenu->CrearInput('reset','','no','','','','Borrar'); $submenu->FinFormu(); ?> </div> <div class="nuevo-articulo"> <a id="nuevom" href="admin.php?menu=menus">Crear nuevo</a> </div> <div id="tmenu"> <h1>Menu</h1> <?php if($bd->Nrows($consulta) > 0) { ?> <table id="" class="display" width="100%"> <thead> <tr> <th scope="col">#</th> <th scope="col">Titulo</th> <th scope="col">href</th> <!-- <th scope="col">Estado</th> --> <th scope="col">Opciones</th> </tr> </thead> <tbody> <?php while($fila = $bd->Farray($consulta)) { ?> <tr> <!-- <td></td> --> <td> <a class="modm ion-edit tooltip" title="Modificar" href="admin.php?menu=menus&a=modmenu&id=<?php echo $fila['id'] ?>"></a> <a class="ion-trash-b tooltip" title="Borrar" href="admin.php?menu=menus&a=elimenu&id=<?php echo $fila['id'] ?>"></a> <a class="addsubmenu ion-plus tooltip" title="Añadir submenu" href="admin.php?menu=menus&padre=<?php echo $fila['id']; ?>"></a> </td> </tr> <?php } ?> </tbody> </table> <?php } else { echo "Sin datos"; } ?> </div> <div id="tsubmenu"> <h1>Submenu</h1> <?php if($bd->Nrows($qsubmenu) > 0) { ?> <table id="tablesubmenu" class="display" width="100%"> <thead> <tr> <!-- <th scope="col">#</th> --> <th scope="col">Titulo</th> <th scope="col">href</th> <th scope="col">Padre</th> <!-- <th scope="col">Estado</th> --> <th scope="col">Opciones</th> </tr> </thead> <tbody> <?php while($fila = $bd->Farray($qsubmenu)) { ?> <tr> <!-- <td data-id="<?php //echo strip_tags($fila['idsubmenu']); ?>"><?php //echo strip_tags($fila['idsubmenu']); ?></td> --> <!-- <td></td> --> <td> <a class="modsbm ion-edit tooltip" title="Modificar" href="admin.php?menu=menus&a=modsub&idsub=<?php echo $fila['idsubmenu'] ?>"></a> <a class="ion-trash-b tooltip" title="Borrar" href="admin.php?menu=menus&a=elisub&idsub=<?php echo $fila['idsubmenu'] ?>"></a> </td> </tr> <?php } ?> </tbody> </table> <?php } else { echo "Sin datos"; } ?> </div> <div class="borrar"></div>
Archivo script.js
este es el archivo que hace la llamada a la porción de código que se encuetra en menu.php y se encarga de mostrar el submenu para modificar el titulo y la url.
Código Javascript:
Ver original
$(function() { $( "#modmpadre" ).dialog({ resizable: false, autoOpen: false, modal: true, show: { effect: "fade", duration: 1000 }, hide: { effect: "fade", duration: 100 } }); $( ".modm" ).click(function(event) { event.preventDefault(); var url = $( this ).attr("href"); var array_id = []; // var titu = $('#tmenu tr td').data('id'); // console.log(titu); // alert(JSON.stringify($('#tmenu tr td').data(), null,' ')); // url = url.substr(-1,1); url = url.split("="); url = url[3]; console.log(url); $('#tmenu td:nth-child(1)').each(function(){ array_id.push($(this).text()); }); $.each(array_id,function( index, valor ) { // console.log( index + ": " + $( this ).text() ); if (url == valor) { titulo = $('#tmenu tr:nth-child('+valor+') td:nth-child(2)').text(); enlace = $('#tmenu tr:nth-child('+valor+') td:nth-child(3)').text(); } }); $.macaroon('urlmenu',url); $('#modmpadre #titulo').val(titulo); $('#modmpadre #enlace').val(enlace); $( "#modmpadre" ).dialog( "open" ); }); });
Mi pregunta es la sig. como puedo hacer para que me muestre los datos correspondientes al id en la ventana de modificar menu?¿ ahora lo consigo pero siempre y cuando el id sea correlativo al elemento...es decir en el momento que en la imagen 1º haya 2 paginas en vez de una dejara de mostrarme la info correctamente ya que el id lo cojo desde el html...
Gracias