Verified - Business Directory Script

CREATE TABLE reviews ( id INT PRIMARY KEY AUTO_INCREMENT, business_id INT NOT NULL, rating INT CHECK (rating BETWEEN 1 AND 5), comment TEXT, reviewer_name VARCHAR(100), created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (business_id) REFERENCES businesses(id) ON DELETE CASCADE ); # Example Python/Flask-style logic (read as pseudo-code) class BusinessDirectory:

def get_business_profile(self, business_id): """Fetch full business details + reviews""" biz = db.query_one("SELECT * FROM businesses WHERE id = ?", [business_id]) if not biz: return None reviews = db.query("SELECT * FROM reviews WHERE business_id = ? ORDER BY created_at DESC", [business_id]) biz['reviews'] = reviews return biz business directory script

def add_review(self, business_id, rating, comment, reviewer_name): """Submit a review and rating""" if rating < 1 or rating > 5: return False sql = "INSERT INTO reviews (business_id, rating, comment, reviewer_name) VALUES (?,?,?,?)" return db.execute(sql, [business_id, rating, comment, reviewer_name]) CREATE TABLE reviews ( id INT PRIMARY KEY

def search_businesses(self, keyword, location=None): """Search by name, description, or address""" sql = """ SELECT *, MATCH(name, description) AGAINST(? IN NATURAL LANGUAGE MODE) as relevance FROM businesses WHERE is_active = 1 AND (name LIKE ? OR description LIKE ? OR address LIKE ?) """ like_term = f"%{keyword}%" params = [keyword, like_term, like_term, like_term] if location: sql += " AND address LIKE ?" params.append(f"%{location}%") sql += " ORDER BY relevance DESC" return db.query(sql, params) OR description LIKE

<!-- Business listing loop --> <div class="business-list"> <?php foreach($businesses as $biz): ?> <div class="business-card"> <?php if($biz['logo_url']): ?> <img src="<?= $biz['logo_url'] ?>" alt="logo" width="80"> <?php endif; ?> <h3><a href="profile.php?id=<?= $biz['id'] ?>"><?= htmlspecialchars($biz['name']) ?></a></h3> <p><?= htmlspecialchars(substr($biz['description'], 0, 150)) ?>...</p> <div class="rating">★ <?= number_format($biz['avg_rating'], 1) ?> / 5</div> <div class="address">📍 <?= htmlspecialchars($biz['address']) ?></div> <a href="tel:<?= $biz['phone'] ?>">📞 Call</a> </div> <?php endforeach; ?> </div> // admin/approve_business.php function approve_listing($business_id) { db_update("UPDATE businesses SET is_active = 1 WHERE id = ?", [$business_id]); } function delete_listing($business_id) { db_delete("DELETE FROM businesses WHERE id = ?", [$business_id]); }