Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 4 of 4
  1. #1
    Regular Coder
    Join Date
    Jun 2008
    Posts
    680
    Thanks
    114
    Thanked 2 Times in 2 Posts

    Removing table if statement

    This script works however I'm wanting create an if statement with jquery where if there are 0 rows then removes the whole table. It does remove the row but if there are 0 rows left in the db then it removes the whole table and the else part would to me be the just remove the row.

    Code:
    <?php
    
    // Include the database page
    include ('../inc/dbconfig.php');
    
    $query = "SELECT 
        CONCAT_WS(' ', firstname, lastname) AS name, 
        DATE_FORMAT(templates.datecreated, '%M %d, %Y') AS datecreated, 
        templates.id, 
        templates.templatename 
    FROM 
        templates 
        INNER JOIN handlers 
            ON templates.creator_id = handlers.id
    WHERE 
        templates.enabled = '0'";
    $result = mysqli_query ( $dbc, $query ); // Run The Query
    $rows = mysqli_num_rows($result);
    
    $itemsPerPage = 10;
    $pages = ceil( $rows / $itemsPerPage );
    
    
    ?>
    <script>
    $(document).ready(function() {
        $('a', $('div#addform')).click(function() {
            $('#innerContent').load('forms/' + $(this).attr('id') + '.php?case=addnew');
        });
        // Add the table sorter and table paginator plugins
    	$('#templatesPageList').tablesorter() 
                               .tablesorterPager({
                        			container: $( '#templatesPageList .paginate' ),
                        			cssPageLinks: 'a.pageLink'
                        		}); 
        $('.edit').click(function(){
            var templateID = $(this).attr('rel'); 
            $('#innerContent').load('forms/template.php?id=' + templateID + '&case=edit');
        });
        $('.delete').click(function(){
            var templateID = $(this).attr('rel'); 
            var dataString = 'templateID=' + templateID + '&deletetemplate=True'; 
            $.ajax({ 
                type: "POST", 
                url: "processes/template.php", 
                data: dataString, 
            });
            $(this).parents("tr").eq(0).hide();   
        });
    });
    </script>
    
    <!-- Title -->
    <div id="title" class="b2">
    	<h2>Templates</h2>
    	<!-- TitleActions -->
    	<div id="titleActions">
    		<!-- ListSearch -->
    		<div class="listSearch actionBlock">
    			<div class="search">
    				<label for="search">Recherche</label>
    				<input type="text" name="search" id="search" class="text" />
    			</div>
    			<div class="submit">
    				<button type="submit" id="search-button" class="button"><strong><img src="img/icons/search_48.png" alt="comments" class="icon "/></strong></button>
    			</div>
    		</div>
    		<!-- /ListSearch -->
    		<!-- newPost -->
    		<div id="addform" class="newPost actionBlock">
    			<a href="#" id="template" class="button"><strong>Add New Template<img src="img/icons/add_48.png" alt="new post" class="icon "/></strong></a>
    		</div>
    		<!-- /newPost -->
    	</div>
    	<!-- /TitleActions -->
    </div>
    <!-- Title -->
    <!-- Inner Content -->
    <div id="innerContent">
        <!-- ListHeader -->
    	<div id="listHeader">
    		<p class="listInfos">
    			You have <?php echo $rows; ?> templates.
    		</p>
    	</div>
    	<!-- /ListHeader -->
        <!-- ListTable -->
        <?php if ($rows > 0) { 
        ?>
        	<table cellspacing="0" class="listTable" id="templatesPageList">
        		<!-- Thead -->
        		<thead>
        			<tr>
        				<th><a href="#" title="Template Name">Template Name</a></th>
        				<th><a href="#" title="Creator">Creator</a></th>
        				<th><a href="#" title="Date Created">Date Created</a></th>
                        <th class="last">Edit/Delete</th>
        			</tr>
        		</thead>
        		<!-- /Thead -->
        		<!-- Tfoot -->
        		<tfoot>
        			<tr>
        				<td colspan="4">
        					<div class="inner">
        						<div class="paginate">
        							<?php
    								if( $pages > 1 ) {
    									for( $i = 1; $i <= $pages; $i++ ) {
    										echo '<span style="padding-left: 5px; padding-right: 5px;"><a class="pageLink" href="#">' . $i . '</a></span>';
    									}
    								}
        							?>
        						</div>
        					</div>
        				</td>
        			</tr>
        		</tfoot>
        		<!-- /Tfoot -->
        		<!-- Tbody -->
                <tbody>
        		<?php 
    	        while ( $row = mysqli_fetch_array ( $result, MYSQL_ASSOC ) ) {
                  echo '
                  <tr>
        			  <td>' . $row['templatename'] . '</td>
        			  <td>' . $row['name'] . '</td>
        			  <td>' . $row['datecreated'] . '</td>
                      <td style="text-align:center;"><img src="img/notepad.png" class="edit" rel="' . $row['id'] . '"/><img src="img/Delete-icon.png" class="delete" rel="' . $row['id'] . '"/></td>
    			  </tr>';
                }
                ?>
        		</tbody>
        		<!-- /Tbody -->
        	</table>
            <?php
            }
            ?>
    	<!-- /ListTable -->
    </div>
    <!-- /Inner Content -->

  • #2
    Kor
    Kor is offline
    Red Devil Mod Kor's Avatar
    Join Date
    Apr 2003
    Location
    Bucharest, ROMANIA
    Posts
    8,478
    Thanks
    58
    Thanked 379 Times in 375 Posts
    If it is JQuery, you should have post that into the proper sub Forum. I will move this thread there.
    KOR
    Offshore programming
    -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

  • #3
    Regular Coder
    Join Date
    Jun 2008
    Posts
    680
    Thanks
    114
    Thanked 2 Times in 2 Posts
    Just to comment as well that I've also tried

    Code:
    var table = $(this).closest("table");
            if (table.find("tr").length == 2) {
                table.remove();
            } else {
                $(this).closest("tr").remove();
            }
    instead of

    Code:
    $(this).parents("tr").eq(0).hide();
    The new code DOES delete the row however it still shows the table and I'm not wanting it to show the table.

    One more comment to make that when it deletes the row I'm also wanting the echoed $rows number to be affected where it says "You have <?php echo $rows; ?> templates."

  • #4
    Regular Coder
    Join Date
    Jun 2008
    Posts
    680
    Thanks
    114
    Thanked 2 Times in 2 Posts
    Issue was resolved.


  •  

    Posting Permissions

    • You may not post new threads
    • You may not post replies
    • You may not post attachments
    • You may not edit your posts
    •