2011-08-15 4 views
1

J'ai une page d'insertion de travail qui fonctionne très bien. Je viens de construire une page de mise à jour dans le panneau d'administration. Je ne suis pas en mesure de montrer l'écran court :(mise à jour avec la zone de liste déroulante

Je dois montrer la catégorie sélectionnée comme ce qui est déjà dans la table de travail.

laissez-moi vous montrer la table details.This est la table de travail

CREATE TABLE IF NOT EXISTS `jobs` (
    `job_id` int(11) NOT NULL AUTO_INCREMENT, 
    `job_title` varchar(99) NOT NULL, 
    `job_category` int(3) NOT NULL, 
    `job_location` varchar(33) NOT NULL, 
    `job_country` varchar(33) NOT NULL, 
    `job_salary` int(12) NOT NULL, 
    `job_reference` varchar(9) NOT NULL, 
    `job_contact_name` varchar(9) NOT NULL, 
    `job_description` text NOT NULL, 
    `job_requirments` text NOT NULL, 
    `job_companydetails` text NOT NULL, 
    `status` int(2) NOT NULL, 
    `date` date NOT NULL, 
    `featured` int(1) NOT NULL, 
    PRIMARY KEY (`job_id`) 
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1091 ; 

et c'est la table de catégorie

CREATE TABLE IF NOT EXISTS `job_category` (
    `category_id` int(11) NOT NULL AUTO_INCREMENT, 
    `category_name` varchar(25) NOT NULL, 
    PRIMARY KEY (`category_id`) 
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=16 ; 

Je suis juste montrer les données de la table de travail pour la mise à jour. mais la chose est que j'ai besoin de montrer la CATÉGORIE DE TRAVAIL dans la Combobox. Je pense qu'il est facile à travers comme ce

<select name="job_category"> 
<?php 
$result = mysql_query("SELECT * FROM $category_tbl"); 
while($row = mysql_fetch_array($result)) 
{  
echo "<option value=$row[category_id]> $row[category_name] </option>"; 
} 
?> 
</select> 

mais la chose est que je dois afficher le nom de la catégorie sélectionnée qui est dans la table de travail

+2

quoi? Pourquoi auriez-vous un facteur identifiant une rangée de table dans une autre table? cela n'a aucun sens ... – Neal

+1

@Neal J'utilise simplement la table Catégorie comme clé étrangère. Parce que peut-être besoin d'ajouter supprimer la catégorie – Muhammed

Répondre

3

Dans la boucle while vous pouvez avoir quelque chose comme:

while($row = mysql_fetch_array($result)) { 
     echo "<option value='$row[category_id]'"; 
     if($row['category_id'] === $rows['job_category']){ 
      echo "selected='selected'"; 
     } 
     echo "> $row[category_name] </option>"; 
} 

job['job_category'] contient l'identifiant de la catégorie du travail que vous affichez actuellement.

Espérons que cela aide.

+0

Merci frère. Cela a résolu mon problème. Merci..... –

0

Il a un bug je viens de le fixe regarde les changements

$result = mysql_query("SELECT * FROM $category_tbl"); 
    while($row = mysql_fetch_array($result)) 
    { 
    echo "<option value='$row[category_id]'"; 
    if($row['category_id'] === $rows['job_category']) 
     { 
     echo "selected='selected'"; 
    } 
    echo "> $row[category_name] </option>"; 
    } 

Merci pour votre indice

Questions connexes