我正在建立一个管理学校中心的网站,我怀疑你希望能解决它。
我有这段代码:
的login.php
<!doctype html>
<html lang="es">
<head>
<meta charset="iso-8859-1" />
</head>
<body>
<form action="comprobacionlogin_usuario.php" method="POST">
<table border="1">
<tr>
<th>Nombre de usuario</th>
<td><input type="text" name="usuario" autocomplete="off" required></td>
</tr>
<tr>
<th>Contraseña</th>
<td><input type="password" name="contrasena" autocomplete="off" required></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Enviar"></td>
</tr>
</table>
</form>
¿No eres usuario? Pulsa <a href="altanuevoprofesor.php">aquí</a>
</body>
</html>
nuevo_horario.php
<?php
session_start();
$curso=$_POST['curso'];
$clase=$_POST['clase'];
?>
<html lang="es">
<head>
<meta charset="iso-8859-1">
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="administrar_filas.js"></script>
<link rel="stylesheet" type="text/css" href="estilo_botones_tabla.css">
Horario
</head>
<body>
<div id="elementos">
<form id="datos" action="procesar_horario.php" method="post">
<table border="1" id="tabla">
<thead>
<tr>
<td>Hora</td>
<td>Lunes</td>
<td>Martes</td>
<td>Miércoles</td>
<td>Jueves</td>
<td>Viernes</td>
</tr>
</thead>
<tbody>
<tr class="fila-base">
<td><input type="text" name="hora_0" placeholder="Hora_0"></td>
<td><input type="text" name="asignatura_lun_0" placeholder="Asignatura"><br><input type="text" name="id_usuario_lun_0"placeholder="Id_profesor"></td>
<td><input type="text" name="asignatura_mar_0" placeholder="Asignatura"><br><input type="text" name="id_usuario_mar_0"placeholder="Id_profesor"></td>
<td><input type="text" name="asignatura_mie_0" placeholder="Asignatura"><br><input type="text" name="id_usuario_mie_0"placeholder="Id_profesor"></td>
<td><input type="text" name="asignatura_jue_0" placeholder="Asignatura"><br><input type="text" name="id_usuario_jue_0"placeholder="Id_profesor"></td>
<td><input type="text" name="asignatura_vie_0" placeholder="Asignatura"><br><input type="text" name="id_usuario_vie_0"placeholder="Id_profesor"></td>
<td class="eliminar">Eliminar</td>
</tr>
<input type="hidden" name="curso" id="curso" value="<?php echo $curso ?>">
<input type="hidden" name="clase" id="clase" value="<?php echo $clase ?>">
</tbody>
</table>
<input type="button" id="agregar" value="Agregar fila" />
<input type="submit" id="enviar" value="Enviar">
</form>
</div>
<?php
$conexion = mysql_connect("localhost", "alonsosjumper", "alonsosjumper") or die('No se pudo conectar: ' . mysql_error());
echo '<br>Conexión satisfactoria<br>';
mysql_select_db("proyecto", $conexion) or die('No se pudo seleccionar la base de datos');
$consulta= "select id_usuario, nombre, apellidos from usuarios where tipo_usuario='profesor' order by id_usuario";
$resultado= mysql_query($consulta);
echo ' <p>Lista de profesores</p>
<table border="1" width="auto">
<tr><td>Id_usuario</td><td>Nombre</td><td>Apellidos</td></tr>';
while($fila = mysql_fetch_array($resultado))
{
echo "<tr><td>".$fila['id_usuario']."</td><td>".$fila['nombre']."</td><td>".$fila['apellidos']."</td></tr>";
}
?>
</body>
</html>
procesar_horario.php
<?php
session_start();
//I wanna have here the variable "cuentaInputs" to use it in the for.
$conexion = mysql_connect("localhost", "alonsosjumper", "alonsosjumper") or die('No se pudo conectar: ' . mysql_error());
echo '<br>Conexión satisfactoria<br>';
mysql_select_db("proyecto", $conexion) or die('No se pudo seleccionar la base de datos');
for($i=0; $i<$cuentaInputs; $i++) {
for($j=1; $j<6; $j++)
{
if($j==1)
{
$asignatura=$_POST["asignatura_lun_".$i];
$id_usuario=$_POST["id_usuario_lun_".$i];
$hora=$_POST["hora_".$i];
$consulta = "INSERT INTO horarios (asignatura, curso, clase, fecha, hora, id_usuario) VALUES ('$asignatura', '$curso','$clase','lunes','$hora','$id_usuario')";
echo $consulta;
}
if($j==2)
{
$asignatura=$_POST["asignatura_mar_".$i];
$id_usuario=$_POST["id_usuario_mar_".$i];
$hora=$_POST["hora_".$i];
$consulta = "INSERT INTO horarios (asignatura, curso, clase, fecha, hora, id_usuario) VALUES ('$asignatura', '$curso','$clase','lunes','$hora','$id_usuario')";
echo $consulta;
}
if($j==3)
{
$asignatura=$_POST["asignatura_mie_".$i];
$id_usuario=$_POST["id_usuario_mie_".$i];
$hora=$_POST["hora_".$i];
$consulta = "INSERT INTO horarios (asignatura, curso, clase, fecha, hora, id_usuario) VALUES ('$asignatura', '$curso','$clase','lunes','$hora','$id_usuario')";
echo $consulta;
}
if($j==4)
{
$asignatura=$_POST["asignatura_jue_".$i];
$id_usuario=$_POST["id_usuario_jue_".$i];
$hora=$_POST["hora_".$i];
$consulta = "INSERT INTO horarios (asignatura, curso, clase, fecha, hora, id_usuario) VALUES ('$asignatura', '$curso','$clase','lunes','$hora','$id_usuario')";
echo $consulta;
}
if($j==5)
{
$asignatura=$_POST["asignatura_vie_".$i];
$id_usuario=$_POST["id_usuario_vie_".$i];
$hora=$_POST["hora_".$i];
$consulta = "INSERT INTO horarios (asignatura, curso, clase, fecha, hora, id_usuario) VALUES ('$asignatura', '$curso','$clase','lunes','$hora','$id_usuario')";
echo $consulta;
}
}
}
$resultado = mysql_query($consulta);
mysql_close($conexion);
?>
administrar_filas.js
$(function(){
var cuentaInputs = ($(".fila-base").length);
$("#agregar").on('click', function(){
$('#tabla > tbody:last').after('<tr><td><input type="text" name="hora'+cuentaInputs+'" placeholder="Hora"></td><td><input type="text" name="asignatura_lun_'+cuentaInputs+'" placeholder="Asignatura"><br><input type="text" name="id_usuario_lun_'+cuentaInputs+'"placeholder="Profesor"></td><td><input type="text" name="asignatura_mar_'+cuentaInputs+'" placeholder="Asignatura"><br><input type="text" name="id_usuario_mar_'+cuentaInputs+'"placeholder="Profesor"></td><td><input type="text" name="asignatura_mie_'+cuentaInputs+'" placeholder="Asignatura"><br><input type="text" name="id_usuario_mie_'+cuentaInputs+'"placeholder="Profesor"></td><td><input type="text" name="asignatura_jue_'+cuentaInputs+'" placeholder="Asignatura"><br><input type="text" name="id_usuario_jue_'+cuentaInputs+'"placeholder="Profesor"></td><td><input type="text" name="asignatura_vie_'+cuentaInputs+'" placeholder="Asignatura"><br><input type="text" name="id_usuario_vie_'+cuentaInputs+'"placeholder="Profesor"></td><td class="eliminar">Eliminar</td></tr>');
cuentaInputs++;
});
// Evento que selecciona la fila y la elimina
$(document).on("click",".eliminar",function(){
if (cuentaInputs>1)
{
var parent = $(this).parents().get(0);
$(parent).remove();
cuentaInputs--;
}
else
alert("No se puede eliminar la ultima fila");
});
});
我想在“procesar_horario.php”中使用变量“cuentaInputs”来使用它。我需要它来制作动态时间表,我可以添加或删除行。
如何将变量cuentaInputs从Jquery传递给PHP?
非常感谢!
答案 0 :(得分:1)
阅读你的评论后。看来你正试图发送一行数据。如下所示,放置元素名称和ID
name="asignatura_lun_'+cuentaInputs+'"
使用数组索引
name="asignatura_lun['+cuentaInputs+']"
这样你就可以在php中获得以下数组
$_POST['hora']
$_POST['asignatura_lun']
$_POST['id_usuario_lun']
//likewise for mar, mie, jue and vie
在使用foreach的hora数组的php端循环
foreach($_POST['hora'] as $key => $value) //use $key for referencing other arrays.
{
for($j=1; $j<6; $j++)
{
if($j==1)
{
//use $key for referencing other arrays.
$asignatura=$_POST["asignatura_lun"][$key];
$id_usuario=$_POST["id_usuario_lun"][$key];
$hora=$value; //$value is current horra
$consulta = "INSERT INTO horarios (asignatura, curso, clase, fecha, hora, id_usuario) VALUES ('$asignatura', '$curso','$clase','lunes','$hora','$id_usuario')";
echo $consulta;
}
//same for other weekdays
}
}
<强>参考强>: 阅读此question and answer。
编辑前:
我真的无法理解你的大部分代码。请尝试使用英文标识符。但简单来说,使用隐藏的输入元素应该可以解决您的问题。在提交到procesar_horario.php的表单中添加此内容
<input type='hidden' name='cuentaInputs' id='cuentaInputs'/>
每当更新cuentaInputs时,您都可以更新其值。
$('#cuentaInputs').val(cuentaInputs);
答案 1 :(得分:0)
Jquery的ajax方法会像这样向PHP发送一些值。
$.ajax({
type:'POST',
url:'procesar_horario.php',
data: {q: putVariableHere}, //put a variable you want to pass here
success: function (response) {
console.log('yey, we passed the variable');
}
});
PHP:
<?php
session_start();
//I wanna have here the variable "cuentaInputs" to use it in the for.
$cuentaInputs = $_POST['q'];
答案 2 :(得分:0)
你的问题中没有jQuery的迹象。
如果您正在开发应用程序,请确保了解它的工作原理或您的项目注定要失败。
jQuery是一个用于Javascript的库,一种客户端编程语言,这意味着这是用户使用的运行代码的浏览器(如HTML和CSS)。
PHP是一种在服务器端运行的编程语言,这意味着它在服务器上运行
所以你不能只用你自己的思想轻松地在它们之间进行交互,它没有任何魔力。
浏览器可以原生提交带有提交按钮的表单
如果你想用jQuery(或纯Javascript)来做,你可以手动触发提交(例如使用jQuery $("form").submit()
)。
您还可以使用它将数据发送到具有AJAX功能的服务器(例如,使用jQuery $.post({howifeelit:"good"})
),服务器会为您提供一些结果(HTTP内部)。
其他建议: