Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Pdo::fetch_assoc

Estas en el tema de Pdo::fetch_assoc en el foro de PHP en Foros del Web. Buenos días Amigos: Tengo un problema en presentar los resultados de una busqueda mediante PDO::FETCH_ASSOC, ya que el registro que se envía al buscar lo ...
  #1 (permalink)  
Antiguo 23/06/2016, 07:08
 
Fecha de Ingreso: febrero-2007
Mensajes: 43
Antigüedad: 17 años, 2 meses
Puntos: 0
Pdo::fetch_assoc

Buenos días Amigos:

Tengo un problema en presentar los resultados de una busqueda mediante PDO::FETCH_ASSOC, ya que el registro que se envía al buscar lo repite en en el resultado infinidad de veces y quiero que salga solo una vez. Le he realizado todos los ajustes pero mi lógica ya no me da mas... Cualquier ayuda lo agradecería muchas gracias.

<?php

$articulo=$_POST["nombre"];
$pais=$_POST["pais"];

try{
$conexion=new PDO("mysql:host=localhost;dbname=pruebas;charset=u tf8","root","");
$conexion->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEP TION);
$sql="SELECT NOMBREARTÍCULO,SECCIÓN,PRECIO,PAÍSDEORIGEN FROM PRODUCTOS WHERE NOMBREARTÍCULO=:nart AND PAÍSDEORIGEN=:paorigen";
$resultado=$conexion->prepare($sql);
$resultado->execute(array(":nart"=>$articulo,":paorigen"=>$pa is));

$fila=$resultado->fetch(PDO::FETCH_ASSOC);

if($articulo==$fila['NOMBREARTÍCULO'] && $pais==$fila['PAÍSDEORIGEN']){
while($fila){
echo "Nombre Artículo: ".$fila['NOMBREARTÍCULO']." Sección: ".$fila['SECCIÓN'].
" Precio ".$fila['PRECIO']." País de Origen ".$fila['PAÍSDEORIGEN']."<br>";
}
}else{
echo "Articulo no existe";
}

$resultado->closeCursor();
}catch(Exception $e){
echo "Error en conexión ".$e->GetMessage();
}finally{
$conexion=null;
}
  #2 (permalink)  
Antiguo 23/06/2016, 12:03
Avatar de manuparquegiralda  
Fecha de Ingreso: junio-2012
Ubicación: Barcelona
Mensajes: 241
Antigüedad: 11 años, 10 meses
Puntos: 39
Respuesta: Pdo::fetch_assoc

¿Y porque no pruebas a hacerlo a través de la clase mysli a ver que resultado te da?

Código PHP:
Ver original
  1. <?php
  2.  
  3. /* CONEXIÓN A LA BASE DE DATOS */
  4. $mysqli = new mysqli("localhost", "root", "", "pruebas");
  5. $mysqli->set_charset("utf8");
  6. if($mysqli->connect_errno){
  7.     echo $mysqli->error;
  8.     die();
  9. }
  10.  
  11. /* POSTEAMOS DATOS */
  12. $articulo=$_POST["nombre"];
  13. $pais=$_POST["pais"];
  14.  
  15. /* CONSULTA LA BASE DE DATOS */
  16. $consulta = $mysqli->query("SELECT NOMBREARTÍCULO,SECCIÓN,PRECIO,PAÍSDEORIGEN FROM PRODUCTOS WHERE NOMBREARTÍCULO = '".$articulo."' AND PAÍSDEORIGEN = '".$pais."'");
  17.  
  18. /* SACAMOS EL LISTADO DE ARTÍCULOS */
  19. $listado = "";
  20. while($resultado = $consulta->fetch_assoc()){
  21.     $listado .= "Nombre Artículo: ".$resultado['NOMBREARTÍCULO']." Sección: ".$resultado['SECCIÓN']." Precio ".$resultado['PRECIO']." País de Origen ".$resultado['PAÍSDEORIGEN']."<br>";
  22. }
  23.  
  24. /* IMPRIMIMOS EL RESULTADO */
  25. if(!$listado){
  26.     echo "El artículo no existe";
  27. }else{
  28.     echo $listado;
  29. }
  30.  
  31. ?>
__________________
Diseño Web - Arisman Web
  #3 (permalink)  
Antiguo 23/06/2016, 18:47
 
Fecha de Ingreso: febrero-2007
Mensajes: 43
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: Pdo::fetch_assoc

Excelente... funciona. Eres un crack... muchas gracias

Etiquetas: registro, select, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:54.