PHP - Update a una base de datos con un bucle

 
Vista:
sin imagen de perfil
Val: 52
Ha aumentado su posición en 4 puestos en PHP (en relación al último mes)
Gráfica de PHP

Update a una base de datos con un bucle

Publicado por Derek (20 intervenciones) el 02/12/2018 03:11:48
Bueno para hacerlo corto, me explico, tengo 1 tablas
Links (id, link, codelink)
Tengo un codigo que hace que pueda subir inputs a la vez que son los links y el codelink es quien los define de cada seccion
Pero ahora quiero hacer un update pero no tengo idea como hacerlo.
Este es el codigo php que trato de recrear para hacerle un UPDATE a la tabla "links"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
if(!empty($_POST["guardar"])) {
    $conn = mysqli_connect("localhost","root","", "drykbase");
  $contador = count($_POST["linkname"]);
  $ProContador=0;
  $query = "UPDATE links SET ";
  $queryValue = "";
  $cor = ' WHERE codelink='.$_POST['codelink'];
  for($i=0;$i<$contador;$i++) {
    if(!empty($_POST["linkname"][$i])) {
      $ProContador++;
      if($queryValue!="") {
        $queryValue .= "<br>";
      }
      $queryValue .= $query.'link='.$_POST['linkname'][$i].','.$cor;
    }
  }
  if($ProContador!=0) {
      $resultadocon = mysqli_query($conn, $queryValue);
    if(!empty($resultadocon)) $resultado = print "<script>alert(\"Los links se han agregado\");</script>";
  }
}
print $queryValue;
?>

El print solo me sirve para verificar que tenga el codigo del update que quiero
y me imprime esto:
1
UPDATE links SET link=#2 WHERE codelink=link5c030d63cd09d
Se supone que lo que me genera tiene que correrlo y actualizar la tabla pero no hace nada

Los input son asi
1
<input type="text" name="linkname[]">
Espero puedan ayudarme o brindarme alguna solucion
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
1
Responder
Imágen de perfil de abzer0x
Val: 575
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Update a una base de datos con un bucle

Publicado por abzer0x (157 intervenciones) el 02/12/2018 22:52:18
Hola no estoy del todo seguro pero me parce que el problema esta en esta sección:
1
2
3
4
if($queryValue!="") {
    $queryValue .= "<br>";
}
$queryValue .= $query.'link='.$_POST['linkname'][$i].','.$cor;

La cual me parece debería ser así:
1
$queryValue .= $query.'link='.$_POST['linkname'][$i].$cor.';';

Si puedes muestra el valor de $queryValue luego del bucle for.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 52
Ha aumentado su posición en 4 puestos en PHP (en relación al último mes)
Gráfica de PHP

Update a una base de datos con un bucle

Publicado por Derek (20 intervenciones) el 10/12/2018 00:10:03
Graicas por responder, pues no amigo, ya en el for al mandar el print me sale
UPDATE links SET link=no 2 not for safdsfasdfasdfas WHERE codelink=link5c030d63cd09d;
UPDATE links SET link=no 2 not for me juan WHERE codelink=link5c030d63cd09d;

Ese es el update que deberia hacer para actualizar los datos de la tabla pero no los actualiza...
Espero puedas ayudarme
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Oscar
Val: 108
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Update a una base de datos con un bucle

Publicado por Oscar (26 intervenciones) el 03/12/2018 16:49:18
Haber va un ejemplo algo mas sencillo

1
2
3
4
5
6
7
8
9
<form action="validationArchivos.php" method="post" enctype="multipart/form-data">
      <table align="center">
        <tr valign="baseline">
          <td nowrap="nowrap" align="right">NOMBRE COMPLETO:</td>
          <td><input type="text" name="NombreCompleto" value="" size="32" required/></td>
        </tr><tr valign="baseline">
          <td nowrap="nowrap" align="right">&nbsp;</td>
          <td><input type="submit" class="ButonUpdate" value="ACTUALICE SU CUENTA!" /></td>
             </table>

y en el php para actualizar:

1
2
3
4
5
6
include("conexion.php");
if($_SERVER["REQUEST_METHOD"] == "POST") {
 $NombreCompleto=$_POST['NombreCompleto'];
/ Actualiza Nombre y Apellido
      $sql1="UPDATE Usuarios SET Nombres = '$NombreCompleto' Where user = '" . $_SESSION['user'] . "'";
      $result1 = mysqli_query($conexion,$sql1);}

Te recuerdo que en el Where del usuario se lleva desde el Login por medio de una variable Global ese ya es otro tema
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 52
Ha aumentado su posición en 4 puestos en PHP (en relación al último mes)
Gráfica de PHP

Update a una base de datos con un bucle

Publicado por Derek (20 intervenciones) el 10/12/2018 20:49:03
Gracias por comentar, pero lo que trato de hacer, es actualizar los datos de la tabla links si estos valores tienen en comun el "codelink"
para darme a entender te explico asi
La tabla links tiene 3 columnas [ id | link | codelink ]
Y si tengo por ejemplo 2 links quedarian algo asi:
1
2
1 http://link1 codigo1235sd1
2 http://link2 codigo1235sd1
Lo que quiero es actualizar esos datos por si hubo un error al momento de insertar el link
entonces al hacer la consulta y hacer que aparescan los datos si me aparecen los datos que contiene el "codelink"
Pero al momento de hacer el update estoy perdido, porque o no me actualiza los datos o simplemente toma el ultimo dato y lo repite en todas las celdas despues (por ejemplo que el ultimo dato haya sido "http:link3", entonces si hay 3 links agregados con el mismo "codelink" se guardan esos 3 links pero con el ultimo valor osea "http://link3")

Si pudieras ayudarme a resolver ese problema te lo agradeceria mucho, llevo tiempo tratando de resolverlo pero nunca me sale ese update
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar