J'ai une table MYSQL avec une grande liste de produits. Dans cette liste de produits, il y a des catégories, un nom, une description, un texte, etc. Je veux ajouter un modificateur pour les industries dans lesquelles il peut être utilisé (p.ex. hôpitaux, écoles, événements, événements sportifs, etc.)Comment sélectionner une cellule avec plusieurs valeurs dans une colonne?
Je l'exécution de cette requête par PHP/MYSQL en ce moment:
public function GetIndustrySeries($identifier, $SeriesIDArray = null)
{
$query = "select ser.Identifier,
ser.ModelNumber,
ser.Title,
ser.Caption,
ser.Description,
ser.Picture,
ser.Industry,
cat.TitleText,
ser.AutoID,
ser.BasePrice
from ProductSeries ser
inner join
ProductIndustry cat
on
cat.Industry
=
ser.Industry
where
ser.Industry
like
?";
if($SeriesIDArray != null && count($SeriesIDArray) > 0)
$query .= " and ";
$i = count($SeriesIDArray);
$parameters = array();
$parameters[0] = "s";
$parameters[1] = $identifier;
if($SeriesIDArray != null){
foreach($SeriesIDArray as $id)
{
$parameters[0] .= "i";
array_push($parameters, $id);
$query .= " ser.AutoID = ?";
if($i > 1)
$query .= " or ";
$i--;
}
}
$stmt = $this->_mysqli->prepare($query);
//$stmt->bind_param('ss', $identifier);
call_user_func_array(array($stmt,'bind_param'), $parameters);
$stmt->execute();
$stmt->bind_result($ident2, $model, $title, $caption, $description, $picture, $ident, $catText, $sid, $price);
$stmt->store_result();
if($stmt->num_rows < 1)
{
$stmt->close();
return null;
}
$array = array();
while($stmt->fetch())
{
array_push($array, array('seriesLink' => "/products/$ident2/$model", 'seriesTitle' => $title, 'seriesImage' => $picture, 'seriesCaption' => $caption, 'seriesDescription' => $description, "seriesCategoryName" => $catText, "seriesID" => $sid, "basePrice" => $price));
}
$stmt->close();
return $array;
}
J'ai essayé d'utiliser le modificateur% dans le code des deux côtés de la? mais je reçois une erreur sur toute la ligne:
Attention: call_user_func_array() [function.call-utilisateur func-tableau]: Le premier argument devrait être un rappel valide, 'Array' a été donné en C: \ wamp \ www \ database.php en ligne 70.
dans le tableau que j'ai une colonne pour « Industrie » et ce que je veux faire est de mettre les industries que le produit se qualifie pour y espérant qu'il peut accepter plusieurs valeurs: "école, hôtel, hôpital"
'en espérant qu'il peut accepter plusieurs valeurs: "école, hôtel, hôpital" '- avez-vous considéré la normalisation? voir http://en.wikipedia.org/wiki/Database_normalization – VolkerK