Tengo una API que verifica con una base de datos SQL un número de pieza, pero hay un caso en el que hay varios números de pieza para un SKU y cuando obtiene ese resultado no devuelve nada en la interfaz de usuario, ¿hay alguna forma de elegir uno? de los resultados? por ahora tenia esto
$squery ="SELECT part_no FROM parts where cb_master ='".$sku."'";
$res = mysqli_query($connectiondb, $squery);
$i=0;
$row = mysqli_fetch_assoc($resultado);
$part = $row['part_no'];
if(is_array($row)){
$check=0;
while($check=1){
$fixQuery = "SELECT no_item FROM orderdet WHERE no_order = $order AND no_item = $part[$i]";
$arrayPart=mysqli_query( $connectiondb, $fixQuery);
$i++;
if($arrayPart!=''){
$parte=$arrayPart;
$check=1;
return $part;
}
}
}
Tenía un "límite 1" en la consulta pero no funcionó, no sé cómo elegir un solo resultado (cualquiera de ellos funcionaría), agradecería cualquier idea o ayuda.
Si solo necesitas obtener uno de los registros cuando existen múltiples coincidencias, puedes usar LIMIT 1 en la consulta y recuperar el primer resultado con mysqli_fetch_assoc(). Sin embargo, en tu código hay varios problemas: utilizas variables diferentes ($res y $resultado), la condición while($check=1) realiza una asignación en lugar de una comparación, y $part no es un arreglo sino un valor individual.
Si realmente existen varios part_no, deberías recorrer todos los resultados con mysqli_fetch_assoc() dentro de un bucle while y decidir cuál utilizar según tu lógica de negocio. El problema parece estar más en el manejo de los resultados que en la consulta SQL.