Ver Mensaje Individual
  #10 (permalink)  
Antiguo 07/01/2013, 15:22
carlosuc99
 
Fecha de Ingreso: junio-2011
Mensajes: 342
Antigüedad: 12 años, 10 meses
Puntos: 5
Exclamación Respuesta: Problema con require_once

Cita:
Iniciado por pateketrueke Ver Mensaje
A ver, ¿te has puesto a revisar el código HTML que se genera en tu navegador?

Yo veo ningún problema con PHP, simplemente el include se carga donde tu le has indicado, y eso está bien.

Lo primero que dices es que ¿tiene que ver con jQuery?

Bien, si tu primera impresión es que dicho diálogo no se vea en tu pagina podrías ocultarlo con CSS.

¿Sabes si funciona el diálogo o no si pones HTML normal en lugar del include?

Algo muy importante que te está pasando es que repites todo dentro del ciclo, y debes saber que los ID de los elementos de HTML debe ser único, con lo cual rompes dicha regla.

Así también repites código Javascript sin sentido.

Primero deberías de hacer el ejercicio sin usar PHP, únicamente con HTML y Javascript, cuando funcione será mas sencillo entender lo que te sucede.

Que en breve, ya nada tiene que ver con PHP.
Creo que tiene que ver con PHP, porque si en lugar de el include pongo código php todo funciona bien. Y si el include lo pongo fuera del bucle también todo funciona bien (el include es necesario que esté dentro del bucle).

He modificado el archivo dejándolo así:
Código PHP:
Ver original
  1. <script>
  2.     $(function() {
  3.         $( ".editaircraftdialog" ).dialog({
  4.             autoOpen: false,
  5.             width: 425
  6.         });
  7.  
  8.         $( ".editaircraft" ).click(function() {
  9.             $( ".editaircraftdialog" ).dialog( "open" );
  10.             return false;
  11.         });
  12.     });
  13. </script>
  14. while ($row = mysql_fetch_array($result, MYSQL_ASSOC)){
  15.     if($i++%2==0){
  16.        $color="#FFFFFF";
  17.     }else{
  18.        $color="#CCCCCC";
  19.     }
  20.  
  21.     ?>
  22.  
  23.     <tr bgcolor='<?php echo $color; ?>' onmouseover="this.style.background='#ABFB04';" onmouseout="this.style.background='<?php echo $color; ?>';">
  24.     <?php
  25.  
  26. echo "<td class=tablelist>";
  27.  
  28. echo $row["ICAO"] . '</td><td class=tablelist>';
  29.  
  30. echo $row["Name"] . '</td><td class=tablelist>';
  31.  
  32. echo $row["WeightEmpty"] . '</td><td class=tablelist>';
  33.  
  34. echo $row["WeightFull"] . '</td><td class=tablelist>';
  35.  
  36. echo $row["CargoFull"] . '</td><td class=tablelist>';
  37.  
  38. echo $row["Range"] . '</td><td class=tablelist>';
  39.  
  40. echo $row["Price"] . '</td><td class=tablelist>';
  41.  
  42. echo $row["FirstClassSeats"] . '</td><td class=tablelist>';
  43.  
  44. echo $row["BusinessClassSeats"] . '</td><td class=tablelist>';
  45.  
  46. echo $row["EconomyClassSeats"]. '</td><td class=tablelist>';
  47.  
  48. echo "<img class='editaircraft' src='./images/info.png'></td></tr>";
  49.  
  50. ?>
  51.  
  52. <div class="editaircraftdialog" title="Edit Aircraft">
  53.     <?php include ('./new_aircraft.php'); ?>
  54. </div>
  55.  
  56. <?php
  57. }
  58.  
  59. echo "</table>";
  60. $pagination->render();
  61. ?>

El error lo dá, pero así no repito código tontamente. Os repito si en vez del include pongo esto:

Código HTML:
Ver original
  1. <p>Hola Mundo</p>

Funciona todo bien!!

Os dejo el archivo new_aircraft.php para saber si os sirve de algo.

Código PHP:
Ver original
  1. <script>
  2.     $(function() {
  3.         $("#insertaircraft")
  4.             .button()
  5.             .click(function(event) {
  6.         });
  7.     });
  8. </script>
  9.  
  10. <form action="new_aircraft_process.php" method="post" enctype="application/x-www-form-urlencoded">
  11.     <table>
  12.  
  13.     <tr><td class="forms">ICAO:</td><td><input maxlength="4" type="text" name="icao" size="30"/></td></tr>
  14.  
  15.     <tr><td class="forms">Name:</td><td><input type="text" name="name" size="30"/></td></tr>
  16.  
  17.     <tr><td class="forms">Weight Empty:</td><td><input type="text" name="weightempty" size="30"/></td></tr>
  18.  
  19.     <tr><td class="forms">Weight Full:</td><td><input type="text" name="weightfull" size="30"/></td></tr>
  20.  
  21.     <tr><td class="forms">Cargo Full:</td><td><input type="text" name="cargofull" size="30"/></td></tr>
  22.  
  23.     <tr><td class="forms">Cruise Speed:</td><td><input type="text" name="cruisespeed" size="30"/></td></tr>
  24.  
  25.     <tr><td class="forms">Range:</td><td><input type="text" name="range" size="30"/></td></tr>
  26.  
  27.     <tr><td class="forms">Price:</td><td><input type="text" name="price" size="30"/></td></tr>
  28.  
  29.     <tr><td class="forms">Number Classes:</td><td><select name="numberclasses" id="numberclasses">
  30.         <option value="0">Select Number of Classes</option>
  31.         <?php
  32.         echo '<option value="1">One Classes (Economy)</option>';
  33.         echo '<option value="2">Two Classes (Business & Economy)</option>';
  34.         echo '<option value="3">Three Classes (First, Business & Economy)</option>';
  35.         ?>
  36.     </select></td></tr>
  37.  
  38.  
  39.  
  40.     <tr><td class="forms">First Class Seats:</td><td><input disabled="disabled" type="text" id="firstclassseats" name="firstclassseats" size="30"/></td></tr>
  41.  
  42.     <tr><td class="forms">Business Class Seats:</td><td><input disabled="disabled" type="text" id="businessclassseats" name="businessclassseats" size="30"/></td></tr>
  43.  
  44.     <tr><td class="forms">Economy Class Seats:</td><td><input disabled="disabled" type="text" id="economyclassseats" name="economyclassseats" size="30"/></td></tr>
  45.  
  46. <script type="text/javascript">
  47.  
  48. $("#numberclasses").change(function() {
  49. value = $(this).val();
  50.  
  51. str = parseInt(value);
  52.  
  53. switch(str)
  54.   {
  55.     case 0:
  56.     $(document).ready(function() {
  57.         $("#firstclassseats").attr("disabled","disabled");
  58.         $("#businessclassseats").attr("disabled","disabled");
  59.         $("#economyclassseats").attr("disabled","disabled");
  60. });
  61.     break;
  62.  
  63.     case 1:
  64.     $(document).ready(function() {
  65.         $("#economyclassseats").removeAttr('disabled');
  66.         $("#firstclassseats").attr("disabled","disabled");
  67.         $("#businessclassseats").attr("disabled","disabled");
  68. });
  69.     break;
  70.  
  71.      case 2:
  72.     $(document).ready(function() {
  73.         $("#businessclassseats").removeAttr('disabled');
  74.         $("#economyclassseats").removeAttr('disabled');
  75.         $("#firstclassseats").attr("disabled","disabled");
  76. });
  77.     break;
  78.  
  79.     case 3:
  80.     $(document).ready(function() {
  81.         $("#firstclassseats").removeAttr('disabled');
  82.         $("#businessclassseats").removeAttr('disabled');
  83.         $("#economyclassseats").removeAttr('disabled');
  84. });
  85.     break;
  86.  
  87.   }
  88. });
  89.  
  90. </script>
  91.  
  92.     <tr><td></td><td><input id="insertaircraft" type="submit" value="Insert Aircraft"/></td></tr>
  93.     </table>
  94. </form>

PD: Acabo de comprobar que ahora se muestra como la esta imagen:

Si pulso en la imagen info.png (donde se debería mostrar el dialog), se despliegan 3(número de veces que se tiene que realizar el while porque hay 3 resultados en la db) dos con el contenido del new_aircraft.php pero el último en mostrarse(o el 1ero porque realmente está debajo de los otros dos) vacío.